当前位置: 首页 > 编程语言 > C#

以编程方式使新行变脏并在DataGridView中插入新行分享

时间:2023-04-11 03:24:29 C#

C#学习教程:以编程方式修改新行并在DataGridView中插入新行我正在以编程方式更改新行的值。通常,当用户在新行的任何字段中键入时,它会变脏并在其下方插入另一个新行。但就我而言,当用户输入新行的任何字段时,我正在捕获功能键并以编程方式更改单元格值。myGrid.CurrentCell.Value="xyz";并且它不会在其下方插入新行。现在作为一种解决方法,我在CellValueChanged事件处理程序上尝试了这个。如果(myGrid.NewRowIndex==e.RowIndex){myGrid.Rows.Insert(e.RowIndex+1,1);但它抛出一个错误,指出在未提交的新行之后不能插入行。.我如何告诉myGrid我的当前行(这是一个新行)是脏的并且之后需要一个新行?我正在使用winformsDataGridView。就我而言,我尝试了@iSid解决方案,但这是一个帮助,我尝试了这个myGrid.NotifyCurrentCellDirty(true);myGrid.NotifyCurrentCellDirty(false);通过仅使当前单元变脏且不工作,您还必须提交该单元。在下一个命令中,我将当前单元格标记为非脏,这将强制datagridview添加脏行。它在我的项目中工作。在这里我得到了解决方案myGrid.NotifyCurrentCellDirty(true);我认为(我不确定),您正试图在新行之后插入一行……这是不可能的。将代码更改为此myGrid.Rows.Insert(e.RowIndex-1,1);应该在新行之前插入该行并且应该可以工作。考虑到问题的时间范围,这真的很晚,但接受的答案对我不起作用。最终为我解决的是首先在脏行上方插入一行,然后编辑“干净”行。以上是C#学习教程:ProgrammaticallymakenewrowsdirtyandinsertnewrowsinDataGridView。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——if(e.RowIndex==myGrid.Rows.Count-1){myGrid.Rows.Add();}myGrid[e.ColumnIndex,e.RowIndex].Value=etd.ResultText;//随意编辑。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: