如何加载dataGridView在后台工作从数据集

本文关键字:后台 工作 数据集 dataGridView 何加载 加载 | 更新日期: 2023-09-27 18:02:58

我有一个datagridview在我的形式,它需要时间从数据库加载。我需要在backGroundWorker线程中实现这个过程。但我对此一无所知。
我谷歌了一下,但我找不到dataset或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);
}

如何加载dataGridView在后台工作从数据集

可以在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()将数据绑定到网格