C#中DataTable删除行后 GrdData.Rows.Count行数没变,求解:

删除行代码:
if (this.dataGridView1.CurrentRow != null)
{
if (dataGridView1.NewRowIndex != -1)
{
GrdData.Rows[dataGridView1.NewRowIndex-1].Delete();
GrdData.AcceptChanges();
this.dataGridView1.DataSource = GrdData;

}
}
用了 GrdData.AcceptChanges();为什么计算行的时候行不变??

第1个回答  2014-12-22
delete不是真的删除了数据,而只是标记了不用的行。行数和每行的index都不会变的。要是希望真的删除数据,要用remove或者removeat
第2个回答  2013-08-28
这个可是算是bug吧 是不会改变的 如果需要操作的话可以用for循环来进行倒着操作进行删除 foreach也是不行的本回答被提问者采纳
第3个回答  2013-08-31
绑定datatable到datagridview的时候,最好是绑定datatable.defualtview。这样数据变更可以同时表现到datagridview上面的
相似回答