私はC#プロジェクトに取り組んでいます
私のプロジェクトには、2 つの Windowns フォーム (フォーム A とフォーム B) があります。フォームAはフォームBの親です。また、フォームAにDataGridViewがあり、フォームBにボタンがあります。
このボタンがクリックされたとき (フォーム B) 。フォーム A の DataGridView はリロードする必要があります。このために、フォーム B で BackgroundWorker を作成し、フォーム A から LoadDataGridview メソッドを呼び出します。
しかし、私の問題は次のとおりです。
時々 (常にではありません) ボタンをクリックすると、問題が発生し (null オブジェクト)、DataGridview 行が消え、Diameter に 2 つの赤い線が表示されます。
私の LoadDataGridview メソッドは次のとおりです。
public void LoadDataGridview()
{
MyMethod.DGV.SaveDataGridViewMetaData(dgvPersons);
objDataViewPersons = SqlServerDB.SqlMethod.GetContentOfTableWithDataView("Persons");
objDataViewPersons.Table.Columns.Add("Department2", typeof(string));
if (objDataViewPersons.Table.Rows.Count == 0)
{
btnEditPerson.Enabled = false;
btnLastPerson.Enabled = false;
btnShow.Enabled = false;
btnPrint.Enabled = false;
}
foreach (DataRow drcurrent in objDataViewPersons.Table.Rows)
{
drcurrent["Department2"] = GlobalVar.CmbControl.GetNam(ComboBoxControl.ListName.Department, ComboBoxControl.ListInput.ID, drcurrent["Department"].ToString());
}
objBindingSource.DataSource = objDataViewPersons;
MyMethod.DGV.RestoreDataGridViewMetaData(dgvPersons);
}
エラーなしでDataGridViewをすばやくリロードする方法は?