【问题标题】:GridView edit when bound to a Datatable绑定到数据表时的 GridView 编辑
【发布时间】:2012-08-27 17:19:13
【问题描述】:

我正在创建一个网站,我们的客户可以直接从我们这里订购零件。我有一个数据表设置,当用户单击一个按钮时,它会将订单的快速详细信息添加到网格视图中。在 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();

我是在 aspx 文件中遗漏了 EditItemTemplate,还是我只是做错了 RowUpdating

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    您可能需要退后一步,首先查看如何使用网格视图进行创建、更新、删除和读取。另外,您可能想查看this post

    【讨论】:

    • 谢谢!!!在您的帮助下,我花了太多时间才在几分钟内找到一个简单的解决方案!!
    • 很高兴我能帮助您...您可能想将其标记为答案?... :)
    猜你喜欢
    • 2010-10-24
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 2013-04-10
    • 1970-01-01
    相关资源
    最近更新 更多