一个按钮列的问题

lanren1985 2006-05-01 10:25:38
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Northwind
{
/// <summary>
/// DataGrid_Edit 的摘要说明。
/// </summary>
public class DataGrid_Edit : System.Web.UI.Page
{
DBAccess db = new DBAccess();
protected System.Web.UI.WebControls.DataGrid DG_Products;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
DG_DataBind();
}
private void DG_DataBind()
{
string strsql = "select * from Products where UnitsOnOrder>0";
db.BindDataGrid(strsql, DG_Products);
}
private void DG_Products_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DG_Products.EditItemIndex = e.Item.ItemIndex;
DG_DataBind();
}

private void DG_Products_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DG_Products.EditItemIndex = -1;
DG_DataBind();
}

private void DG_Products_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string ProductID = DG_Products.DataKeys[e.Item.ItemIndex].ToString();
string newProductName = ((TextBox)(e.Item.Cells[0].Controls[0])).Text;
string newUnitsOnOrder = ((TextBox)(e.Item.Cells[1].Controls[0])).Text;
string updatestr = "update Products set ProductName =" + newProductName + ",UnitsOnOrder =" + newUnitsOnOrder + "where ProductID = " + ProductID;
db.ExecuteSql(updatestr);
DG_Products.EditItemIndex = -1;
DG_DataBind();
}
}
}
代码如上,运行的时候可以,但是改了数值后就点更新就报错了:
索引超出范围。必须为非负值并小于集合大小。参数名: index

这个是什么意思啊,谢谢哪位达人讲讲
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanren1985 2006-05-01
  • 打赏
  • 举报
回复
我自己搞出来,我没有设置DataKeyField的值,我还是新人,不太懂,没有设置这个我郁闷了1个多小时没找到原因
iamdavid0123 2006-05-01
  • 打赏
  • 举报
回复
string ProductID = DG_Products.DataKeys[e.Item.ItemIndex].ToString();
这句可能有问题,你设个断点,运行到这里看看productid是什么
lanren1985 2006-05-01
  • 打赏
  • 举报
回复
郁闷了
lanren1985 2006-05-01
  • 打赏
  • 举报
回复
谢谢哪位讲讲啊

62,046

社区成员

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

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

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

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