我有一个DataGridView'DGV_MachinesExclusion',它绑定到DataTable'ExcludedMachines'。在DataGridView中手动添加新行时,我使用DataGridView的CellValueChanged事件来触发下面的代码。
name
结果是它增加了两行。一个空行和一行手动添加数据。 方法'UpdateExclusionList()'只是将DataTable写入XML文件。 我曾经使用这种方式在过去成功地动态添加行。任何人都可以解释为什么这段代码会添加两行?
Thx,Thomas
答案 0 :(得分:0)
该行
ExcludedMachines.Rows.Add();
会添加一个空白行,因为你没有在'add'函数中指定要添加到行的内容 - 你应该把
ExcludedMachines.Rows.Add(dr);
而不是填充该行。
当你触发事件时,它是否正在改变触发它的单元格值(即,当你预期它只运行一次时,它是不止一次触发事件)?你有没有仔细检查'UpdateExclusionList()'方法,它确实不会偶然包含任何添加行创建代码(可能从测试中留下?)?
希望这有帮助。