动态地向datatable添加行会添加两行

时间:2016-04-15 08:56:33

标签: c# data-binding datagridview datatable

我有一个DataGridView'DGV_MachinesExclusion',它绑定到DataTable'ExcludedMachines'。在DataGridView中手动添加新行时,我使用DataGridView的CellValueChanged事件来触发下面的代码。

name

结果是它增加了两行。一个空行和一行手动添加数据。 方法'UpdateExclusionList()'只是将DataTable写入XML文件。 我曾经使用这种方式在过去成功地动态添加行。任何人都可以解释为什么这段代码会添加两行?

Thx,Thomas

1 个答案:

答案 0 :(得分:0)

该行

 ExcludedMachines.Rows.Add();

会添加一个空白行,因为你没有在'add'函数中指定要添加到行的内容 - 你应该把

ExcludedMachines.Rows.Add(dr);

而不是填充该行。

当你触发事件时,它是否正在改变触发它的单元格值(即,当你预期它只运行一次时,它是不止一次触发事件)?你有没有仔细检查'UpdateExclusionList()'方法,它确实不会偶然包含任何添加行创建代码(可能从测试中留下?)?

希望这有帮助。

相关问题