DataGrid中为什么一行删不掉呢

zjbabala14 2008-04-07 12:35:50
DataGrid1_DeleteCommand中的代码为
string id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();

string sql="delete mulu where id='"+id+"'";
SqlCommand cmd=new SqlCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
this.DataGrid1.EditItemIndex=-1;
this.DataBind();
为什么我无法删除一行呢,这段代码错了吗?????????????????
...全文
105 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuda_1985 2008-04-07
  • 打赏
  • 举报
回复
调试找找吧。
jingzhao1985 2008-04-07
  • 打赏
  • 举报
回复
this.DataGrid1.EditItemIndex=0;
this.DataBind();
因为你最后一行删掉以后就没有数据了,所以EditItemIndex此时等于-1而出错
lwghost 2008-04-07
  • 打赏
  • 举报
回复
一般遇到了这种问题,个人建议是直接将你的参数值输出,如果输出有问题,则是获取值的时候出了问题;如果输出没有问题,则是单步执行查找错误!
zjbabala14 2008-04-07
  • 打赏
  • 举报
回复
string id=this.DataGrid1.[e.Item.ItemIndex].DataKeysToString();
为什么.[e.Item.ItemIndex].可以找到 但是 string id是null 呢
zjbabala14 2008-04-07
  • 打赏
  • 举报
回复
我不可以换成e.RowIndex
gtiroy 2008-04-07
  • 打赏
  • 举报
回复
string id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();

换为e.RowIndex
zjbabala14 2008-04-07
  • 打赏
  • 举报
回复
e.Item.ItemIndex.
可以找到的
hery2002 2008-04-07
  • 打赏
  • 举报
回复
这个值返回在你的Grid里面存在不?
e.Item.ItemIndex.
可能是不存在,所以找不到。不能删除。
zjbabala14 2008-04-07
  • 打赏
  • 举报
回复
哎 都不多 都找不出错误 string id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();这句话在调试的时候string id=null 是否这里出了问题
zjbabala14 2008-04-07
  • 打赏
  • 举报
回复
索引超出范围。必须为非负值并小于集合大小。参数名: index 我出现了这个错误
string id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
luoboqian 2008-04-07
  • 打赏
  • 举报
回复
this.DataGrid1.CurrentPageIndex = 0;
zjbabala14 2008-04-07
  • 打赏
  • 举报
回复
索引超出范围。必须为非负值并小于集合大小。参数名: index 我出现了这个错误 为什么呢??

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧