【问题标题】:Regarding Grid View关于网格视图
【发布时间】:2012-07-11 06:38:47
【问题描述】:

我有以下代码:

protected void BtnSave_Click(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    dt = (DataTable)ViewState["CurrentData"];

    int id = Convert.ToInt32(Session["id"]);

    dt.Rows[index: id + 1][0] = TextBox1.Text;
    dt.Rows[index: id + 1][1] = TextBox2.Text;
    dt.Rows[index: id + 1][2] = TextBox3.Text;
    dt.Rows[index: id + 1][3] = TextBox4.Text;

    dt.AcceptChanges();
    GridView2.DataSource = dt;
    GridView2.DataBind();
    TextBox1.Text = "";
    TextBox2.Text = "";
    TextBox3.Text = "";
    TextBox4.Text = "";
    BtnCancle.Visible = false;
    BtnSave.Visible = false;
}

由于某种原因,当我编辑第四行时,第二行的更新更改效果。

谁能看出我做错了什么?

【问题讨论】:

  • 1)你如何初始化Session["id"] 2)你可能会因为排序而出错

标签: c# .net gridview buttonclick


【解决方案1】:

正确设置您的DataKeyNames

确保该键只能唯一标识网格中的一行。

您正在呼叫AcceptChanges()。这会导致数据最终确定。如果有任何排序规则,您的数据将被重新排序。接受更改后,第 4 行可能不在同一位置。

【讨论】:

    猜你喜欢
    • 2010-12-03
    • 2011-11-23
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 2013-12-19
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多