Exemple #1
0
        /// <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();
     }
 }