如何加载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);
}
可以在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()
将数据绑定到网格