/// <summary> /// 模糊搜索事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SeekSimpleButton_Click(object sender, EventArgs e) { if (BGW2.IsBusy == false) { gridControl1.RefreshDataSource(); BGW2.RunWorkerAsync("SearchData"); } }
/// <summary> /// 分页事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void gridViewPaging1_PagingChanged(object sender, MyPagingEventArgs e) { if (BGW2.IsBusy == false) { gridControl1.RefreshDataSource(); BGW2.RunWorkerAsync("SearchData"); } }
/// <summary> /// 异步事务工作事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BGW2_DoWork(object sender, DoWorkEventArgs e) { BGW2.ReportProgress(0); try { switch (e.Argument.ToString()) { case "SearchData": int CurrPage = (int)page.CurrentPage; int PageSize = (int)page.PageSize; Tuple <string, object[]> tWhere = null; //if (SeeKTextEdit.Text.IsNullOrEmpty() == false) //{ // //string strWhere = "1=1 and (DevCode.Contains(@0) or DevCCode.Contains(@0) or DevName.Contains(@0)) "; // //tWhere = Tuple.Create<string, object[]>(strWhere, new object[] { SeeKTextEdit.Text }); //} Tuple <StringBuilder, List <object> > dtFilter = Tuple.Create <StringBuilder, List <object> >(new StringBuilder(), new List <object>()); dtFilter.Item1.Append("1 = 1"); FilterProcess.MergeFilterCondition("DevCCode", DevCCodeTextEdit.Text, ref dtFilter); FilterProcess.MergeFilterCondition("DevCode", DevCodeTextEdit.Text, ref dtFilter, "like"); FilterProcess.MergeFilterCondition("DevName", DevNameTextEdit.Text, ref dtFilter, "like"); using (SRDevice.DeviceServiceClient client = new SRDevice.DeviceServiceClient()) { //var ret = client.GetDevicePagedList(context.SessionID, tWhere, PageSize, CurrPage); var ret = client.GetDevicePagedList(context.SessionID, Tuple.Create <string, object[]>(dtFilter.Item1.ToString(), dtFilter.Item2.ToArray()), PageSize, CurrPage); if (ret.IsSuccess) { page.CurrentPage = CurrPage; page.RowCount = ret.TotalNum; e.Result = ret.Data; } else { BGW2.ReportProgress(101, ret.Message); } } break; default: break; } } catch (Exception ex) { BGW2.ReportProgress(101, ex.Message); } BGW2.ReportProgress(100); }