尝试从DataTable删除行时出现问题
|
我有一个浮动在会话变量中的DataTable,该变量与GridView绑定。
我已经在GridView中编程了一个Delete按钮,它调用一种方法来删除该行,如下所示
private void DeleteRecordByID(int ID)
{
DataTable dt = (DataTable)Session[\"tempPermissions\"];
DataRow rowDelete = dt.Rows[ID];
dt.Rows.Remove(rowDelete);
}
我的DataTable中有两个测试记录,这些记录是从数据库中加载的。
我的问题是,当我单击记录上的删除时,出现以下错误
System.IndexOutOfRangeException: There is no row at position 22.
即使在数据表中有一个ID为22的记录。
有人知道为什么会这样吗?
没有找到相关结果
已邀请:
2 个回复
济畦刨
但是索引只是0到3。 在DataTable中查找行的方法有很多种,从DataTable的内置方法到使用LINQ都有。以DataTable为中心的方法是在表上定义主键列,例如
这使您可以使用
方法检索行。
如果给定键不存在任何行,则结果为
。因此,在对输出执行任何操作之前,请针对null进行验证。
车料