我创建了一个后台工作人员来填充数据网格视图。DatagridView 使用从表中获取 2000 条记录的列表填充。我使用后台工作人员来删除无响应的 UI。
private BackgroundWorker worker;
worker = new BackgroundWorker() { WorkerReportsProgress = true };
worker.DoWork += worker_DoWork;
worker.RunWorkerAsync();
void worker_DoWork(object sender, DoWorkEventArgs e)
{
var listAccGroups = vwAccVoucherDetails.ToList(); // vwAccVoucherDetails is the table containing records.
dgvBalanceSheet.DataSource = listAccGroups;
}
我得到的错误是:
跨线程操作无效:控件“dgvBalanceSheet”从创建它的线程以外的线程访问。
如何设置 datagridView 的数据源而不会出现此类错误?