所以今晚我的 c# windows 窗体应用程序遇到了一些麻烦。当当前选定的新行仍为其默认值时,是否可以将新行插入到 datagridview 中?或者,如果我想以编程方式更改值,如何模拟用户编辑文本框以完成该行?
为了澄清,当一行是新行时(并且显示为 true )isNewRow
属性),我不知道如何改变isNewRow = true
状态以在下面生成一个新的空行。
我试过了dataGridView.EndEdit()
, dataGridView.CurrentRow.DataGridView.EndEdit()
, bindingSource.EndEdit()
,但这些都没有真正起到作用。 (另外,使用dataGridView.BeginEdit()
将文本框放入editmode
,这不太方便,因为此后我似乎无法以编程方式编辑单元格)
理想情况下,我希望能够继续在新行上按 Enter 键,同时使用自定义控件更改它们的值,或者不更改它们的值,并在下面显示一个新行。
有人对此有任何解决方案吗?
好吧,我想出了如何让这项工作发挥作用。
使用自定义控件修改值时,我必须使用
bindingSource.EndEdit();
dataGridView.NotifyCurrentCellDirty(true);
dataGridView.EndEdit();
dataGridView.NotifyCurrentCellDirty(false);
因此,每当对新行进行更改时,它都会强制提交该行,并在 datagridview 的末尾添加一个新的空白行空间。
不过,我不必使用 Validate()。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)