datagirdview を埋めるバックグラウンドワーカーを作成しました。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 のデータソースを設定するにはどうすればよいですか?