求助 : 为什么报 索引超出范围。必须为非负值并小于集合大小。\r\n参数名: index

kevinhu520 2008-08-06 11:25:40
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string PROD_ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
string sql = "delete from JXC_WARE_INFO where PROD_ID=" + PROD_ID;
try
{
SqlCommand cmd = new SqlCommand(sql,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
bind();
}
catch(SqlException ex)
{
throw new Exception(ex.Message,ex);
}
finally
{
conn.Close();
}
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string PROD_ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
try
{
string sql = "update JXC_WARE_INFO set WARE_NAME='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',WARE_TYPE='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',WARE_UNIT='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',WARE_SPECIFICATION='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',WARE_STOCK='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "',WARE_PRICE_JJ='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString().Trim() + "',WARE_PRICE_SJ='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString().Trim() + "',WARE_MANUFACTURER='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString().Trim() + "',WARE_NOTE='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[10].Controls[0])).Text.ToString().Trim() + " where PROD_ID=" + PROD_ID;

SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex = -1;
bind();
}
...全文
545 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Krismeng 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lonelygames 的回复:]
还是自己学会跟踪高度吧!这样这种问题就不需要求人了!
[/Quote]
YiCaoYiMu08 2008-08-07
  • 打赏
  • 举报
回复
if (e.Row.RowType == DataControlRowType.DataRow)
lonelygames 2008-08-06
  • 打赏
  • 举报
回复
还是自己学会跟踪高度吧!这样这种问题就不需要求人了!
downmoon 2008-08-06
  • 打赏
  • 举报
回复
另外注意设置datakeys
downmoon 2008-08-06
  • 打赏
  • 举报
回复
可以参考
http://www.cnblogs.com/downmoon/archive/2007/12/30/1021151.html

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string PROD_ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
try
{
string sql = "update JXC_WARE_INFO set WARE_NAME='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',WARE_TYPE='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',WARE_UNIT='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',WARE_SPECIFICATION='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',WARE_STOCK='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "',WARE_PRICE_JJ='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString().Trim() + "',WARE_PRICE_SJ='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString().Trim() + "',WARE_MANUFACTURER='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[8].Controls[0])).Text.ToString().Trim() + "',WARE_NOTE='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[10].Controls[0])).Text.ToString().Trim() + " where PROD_ID=" + PROD_ID;

SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex = -1;
bind();
}

}

namhyuk 2008-08-06
  • 打赏
  • 举报
回复
为什么好好的数据源控件不用,非要用这种代码方式来更新/删除呢?
难道2.0的数据源控件只是摆设吗?
wdgphc 2008-08-06
  • 打赏
  • 举报
回复
走到哪一句时报的错?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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