0
我在C#項目上工作如何使用BackgroundWorker加載DataGridView
在我的項目中我有2個窗口窗體(窗體A和窗體B)。和形式A是形式B的父。 此外,我有一個DataGridView在窗體A和一個形式B上的按鈕。
當此按鈕單擊(在窗體B中)。 FormA中的DataGridView必須重新加載。爲此,我做的表格B和呼叫LoadDataGridview方法一個BackgroundWorker從形式A.
但我的問題是:
有時(並不總是)按鈕時點擊了我給一個問題(空物體)和datagridview的行消失和直徑中可見的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的快速無誤?