在DataGridView设置AllowUserToAddRows为true时,即:this.dataGridView1.AllowUserToAddRows = true;
可以在DataGridView中显示添加行,表面看上去就是该行的行标题上有个“*”符号。
当点击该行的某个单元格时,进入编辑状态后,通过键盘输入或直接复制黏贴某个值到该单元格后,DataGridView会将该行变为编辑行,即从“*”符号,变成一个笔在写字的符号;并同时在该行的下边添加一个新的添加行。
我现在的问题是,如果进入编辑状态后,不是通过外部输入,而是在后台(如cellBeginEdit事件)里输入值,则该行不会变为编辑行,该行的下边也不会添加一个新的添加行。应该是系统对于该行的状态判定的问题,我想知道怎么才能从后台输入值后,DataGridView依旧可以自动在该行下边添加一个新的添加行。
注:我现在的解决方案是,不使用系统的添加行,即设置this.dataGridView1.AllowUserToAddRows = false;
在该页面打开时,直接手工添加一个新行:dataGridView1.Rows.Add();然后在进入该行的编辑状态,进入编辑时(即cellBeginEdit事件)在追加一行dataGridView1.Rows.Add();用这种方法可以实现需要的功能。
不过我想知道在AllowUserToAddRows设置true后,为什么直接从后台赋值时,DataGridView不自动添加新行?