1
我有一個綁定到DataTable'ExcludedMachines'的DataGridView'DGV_MachinesExclusion'。在DataGridView中手動添加新行時,我使用DataGridView的CellValueChanged事件觸發下面的代碼。向數據表動態添加行添加兩行
private void DGV_MachinesExclusion_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
DataRow dr = ExcludedMachines.NewRow();
dr = ((DataRowView)DGV_MachinesExclusion.Rows[0].DataBoundItem).Row;
ExcludedMachines.Rows.Add();
UpdateExlusionList();
}
結果是它增加了兩行。一個空白行和一個手動添加數據的行。 方法'UpdateExclusionList()'只是將DataTable寫入XML文件。 我曾經用這種方式在過去成功地動態添加行。任何人都可以解釋爲什麼此代碼添加兩行?
THX,托馬斯
你是正確的,它添加一個白色的行,因爲該行沒有填充。我已經改變了這一點,但它只是增加了兩個有填充的行。 'UpdateExclusionList()'方法肯定不會添加行,因爲我測試了沒有此方法之上的代碼的事件。 DataTable沒有任何事情發生。 –
另外,當我在事件中休息時,它只會停止一次。所以我不認爲這個事件會被觸發兩次。當我離開這行:'ExcludedMachines.Rows.Add()'沒有被添加到DataTable中時... –
這意味着問題在於DataRow行。你有沒有嘗試: 'DataRow dr =((DataRowView) –