【问题标题】:How to load dataGridView in the backgroundworker from dataset?如何从数据集中在后台工作人员中加载 dataGridView?
【发布时间】:2015-07-15 08:11:56
【问题描述】:

我的表单中有一个 datagridview,它需要时间从数据库加载。我需要在 backGroundWorker 线程中实现这个过程。但我对此一无所知。
我用谷歌搜索,但找不到数据集或 tableAdapter 方法的解决方案。



这是我的代码:
private void frmNewExpense_Load(object sender, EventArgs e)
{
     LoadForm();
     fillDataGrid();
}

private void LoadForm()
{     
      this.tbl_AccountsTableAdapter.Fill(this.personalExpensesDataSet.tbl_Accounts);
      this.tbl_ExpSubCatsTableAdapter.Fill(this.personalExpensesDataSet.tbl_ExpSubCats);
      this.tbl_ExpenseCategoryTableAdapter.Fill(this.personalExpensesDataSet.tbl_ExpenseCategory);

      lblAccountAmount.Text = new oldSeparateThounsands().separate(lblAccountAmount.Text);

      oldGetPersianDate gpd = new oldGetPersianDate();
      gpd.dt = DateTime.Now;
      txtDate.Text = gpd.fn_persianDate();

      txtDesc.Text = txtAmount.Text = String.Empty;
}

private void fillDataGrid()
{
      this.view_Top100ExpensesTableAdapter.Fill(this.personalExpensesDataSet.View_Top100Expenses);
}

【问题讨论】:

    标签: c# sql datagridview backgroundworker


    【解决方案1】:

    您可以在pageload事件类中创建backgroundworker,如下所示

    m_oWorker = new BackgroundWorker(); m_oWorker.DoWork += new DoWorkEventHandler(m_oWorker_DoWork); m_oWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler (m_oWorker_RunWorkerCompleted); m_oWorker.WorkerSupportsCancellation = true;

    m_oWorker_DoWork 是您将使用适配器和数据集/数据表来填充和数据绑定网格的方法(该方法将调用您的LoadForm();)。完成后,backgroundworker 将调用m_oWorker_RunWorkerCompleted,您将调用您的方法filldatagrid() 将数据绑定到网格

    【讨论】:

    • 如何将值发送到 UI。因为这个方法没有填满gridView。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多