C# DataTable不能通过已删除的行访问该行的信息

来源:互联网 发布:淘宝网长袖连衣裙 编辑:程序博客网 时间:2024/06/14 22:15

今天在做删除操作的时候发现一个以前还没遇到的错误,就是循环访问DataTable,报错:不能通过已删除的行访问该行的信息。

看图:


代码删除是:gridView1.DeleteSelectedRows();

DataTable dt=gridControl1.DataSource as DataTable 

foreach(DataRow dr in dt.Rows)

{

       string id=dr["ID"].ToString();

}

以上代码会报错,不能通过已删除的行访问该行的信息。如下图:


会发现你的DataTable里有一行带红色感叹号的空行,所以循环访问的时候提示:不能通过已删除的行访问该行的信息。

解决办法:

DataTable dt=gridControl1.DataSource as DataTable 

foreach(DataRow dr in dt.Rows)

{

   if (dr.RowState == DataRowState.Deleted)   //跳过删除状态的行

              continue;

       string id=dr["ID"].ToString();

}

加上 下面代码就可以了。

if (dr.RowState == DataRowState.Deleted)   //跳过删除状态的行

              continue;

阅读全文
1 0
原创粉丝点击