我正在创建一个网站,我们的客户可以直接从我们这里订购零件。我有一个数据表设置,当用户单击一个按钮时,它会将订单的快速详细信息添加到网格视图中。在 gridview 中,我启用了编辑和删除按钮。删除功能工作正常,但是当您尝试编辑信息时,它不会使用新信息更改网格视图。这是我到目前为止所拥有的:
protected void griditems_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
DataTable dt = (DataTable)Session["table"];
foreach (DataRow dr in dt.Rows)
{
part = Convert.ToString(dr["Part"]);
dr["Part"] = part;
dr["Quantity"] = qty;
dr["Ship-To"] = shipto;
}
griditems.EditIndex = -1;
BindData();
}
尝试此操作时,它会显示带有原始输入值的 gridview。我也试过这个(不工作,并得到一个错误,说“位置0没有行”:
DataTable dt = (DataTable)Session["table"];
GridViewRow row = griditems.Rows[e.RowIndex];
dt.Rows[row.DataItemIndex]["Part"] = ((TextBox)(row.Cells[1].Controls[0])).Text;
dt.Rows[row.DataItemIndex]["Quantity"] = ((TextBox)(row.Cells[2].Controls[0])).Text;
dt.Rows[row.DataItemIndex]["Ship-To"] = ((CheckBox)(row.Cells[3].Controls[0])).Checked;
griditems.EditIndex = -1;
BindData();
我是否EditItemTemplate
在 aspx 文件中遗漏了一个,或者我只是RowUpdating
做错了?