gridview索引超出范围。必须为非负值并小于集合大小

在DataGrid或者GridView控件中要取得数据库的ID时,所出现“索引超出范围。必须为非负值并小于集体大小。参数名:index” 的解决方案。

如:string c_id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
        注:e.Item.ItemIndex 是DataGrid或者GridView控件索引值。比如说,第3行,e.Item.ItemIndex =3。
      出现错误:“索引超出范围。必须为非负值并小于集合大小。参数名: index”


问题出现在:没有设置DATAKEYFIELD设为数据库中的ID值。因为在引用this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();之前要为DATAKEYS填充数据源,既数据库中的ID字段

解决方法:

       不管是DataGrid还是GridView 在控件的属性窗口(其实就是aspx文件中控件属性)中直接给DataKeyField(DataKeyName)赋值为数据库的ID值,问题即可解决

你可能感兴趣的:(C#代码和程序)