/// <summary> /// 执行网站同步 /// </summary> private void DataUpload() { int strart = 0, end = 200, total = 0, amount = 0; total = GetPostHttpCount(); progressBar1.Maximum = total; labCountnum.Text = total.ToString(); BackgroundWorker dgWorker = new BackgroundWorker(); dgWorker.DoWork += (senderdg, edg) => { while (total > 0) { List <DataModel> model = GetPostHttp(strart, end); DataTable dtInfo = new DataTable(); if (model != null && model.Count > 0) { dtInfo = ModelConvertHelper <DataModel> .ToDataTable(model); } amount += DataUpload(dtInfo); strart = end; end += 200; total -= 200; dgWorker.ReportProgress(amount); } }; dgWorker.ProgressChanged += (senderdg, edg) => { progressBar1.Value = edg.ProgressPercentage; }; dgWorker.RunWorkerCompleted += (senderdg, edg) => { MessageBox.Show(String.Format("成功匹配:{0}条数据!", amount), "提示"); progressBar1.Visible = false; btnDataUpload.Enabled = true; this.labUploadnum.Text = amount.ToString(); if (this.cud.dtData.Rows.Count > 0) { UploadData ud = new UploadData { dtData = cud.dtData }; ud.ShowDialog(); } }; dgWorker.WorkerReportsProgress = true; dgWorker.RunWorkerAsync(); }
/// <summary> /// 画数据 /// </summary> private void ReadDataTable() { try { if (emailRequests != null) { this._dt = ModelConvertHelper <EmailRequestSubmitFormRequestTable> .ToDataTable(emailRequests); } DataTable tmpTable = new DataTable(); tmpTable = this._dt.Clone(); int first = this.pageNum * (this.pIndex - 1); first = (first > 0) ? first : 0; //如果总数量大于每页显示数量 if (this._dt.Rows.Count >= this.pageNum * this.pIndex) { for (int i = first; i < pageNum * this.pIndex; i++) { tmpTable.ImportRow(this._dt.Rows[i]); } } else { for (int i = first; i < this._dt.Rows.Count; i++) { tmpTable.ImportRow(this._dt.Rows[i]); } } this.grdList.ItemsSource = tmpTable.DefaultView; tmpTable.Dispose(); } catch { MessageBox.Show("错误"); } finally { DisplayPagingInfo(); } }