C#中DataTable删除行后 GrdData.Rows.Count行数没变,求解:
删除行代码:if(this.dataGridView1.CurrentRow!=null){if(dataGridView1.NewRowIndex!=-1){GrdDa...
删除行代码:
if (this.dataGridView1.CurrentRow != null)
{
if (dataGridView1.NewRowIndex != -1)
{
GrdData.Rows[dataGridView1.NewRowIndex-1].Delete();
GrdData.AcceptChanges();
this.dataGridView1.DataSource = GrdData;
}
}
用了 GrdData.AcceptChanges();为什么计算行的时候行不变?? 展开
if (this.dataGridView1.CurrentRow != null)
{
if (dataGridView1.NewRowIndex != -1)
{
GrdData.Rows[dataGridView1.NewRowIndex-1].Delete();
GrdData.AcceptChanges();
this.dataGridView1.DataSource = GrdData;
}
}
用了 GrdData.AcceptChanges();为什么计算行的时候行不变?? 展开
展开全部
delete不是真的删除了数据,而只是标记了不用的行。行数和每行的index都不会变的。要是希望真的删除数据,要用remove或者removeat
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个可是算是bug吧 是不会改变的 如果需要操作的话可以用for循环来进行倒着操作进行删除 foreach也是不行的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
绑定datatable到datagridview的时候,最好是绑定datatable.defualtview。这样数据变更可以同时表现到datagridview上面的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询