重新绑定网格视图与编辑模式有什么关系

本文关键字:编辑 模式 关系 什么 视图 网格 新绑定 绑定 | 更新日期: 2023-09-27 18:34:54

当我不重新绑定它时,网格视图仍处于编辑模式,为什么? 但是当我重新绑定网格视图时,它成功退出了 eidt 模式,为什么?

法典:

protected void gvTest_EditCancel(Object sender, GridViewCancelEditEventArgs e) 
{
    gvTest.EditIndex = -1;
  //  connectToDb();
    Response.Write("<br/>"+ "Editing cancelled");
}`
public void connectToDb() 
{
    SqlConnection sqlcon = new SqlConnection(constrng);
    String com1 = "select * from login";
    SqlCommand sqlcom = new SqlCommand(com1, sqlcon);
    SqlDataAdapter sqlda = new SqlDataAdapter(sqlcom);
    DataSet ds = new DataSet();
    try
    {
        sqlcon.Open();
        sqlda.Fill(ds);
        gvTest.DataSource = ds;
        gvTest.DataBind();
    }
    catch (Exception exc)
    {
        Response.Write(exc.ToString());
    }
    finally
    {
        sqlcon.Close();
    }
}

但是当调用 ConnectToDb(( 重新绑定时,它已成功存在于编辑模式下,重新绑定与编辑或退出它有什么关系?

重新绑定网格视图与编辑模式有什么关系

是 EditIndex 告诉网格视图它处于编辑模式。

要编辑的行的从零开始的索引。默认值为 -1,即 指示未编辑任何行。

MSDN.

编辑网格视图时,EditIndex 设置为 GridView RowIndex,该索引始终为 0 或大于 0。 因此 GridView 将保持编辑模式。要退出编辑模式,您需要将索引设置为 -1。取消编辑时,它会将此索引设置为 -1。

在 RowCancelingEdit 中,我们可以将 editindex 设置为 -1。但是在我们重新绑定行之前,它不会将行更改为正常模式。当我们重新绑定网格视图时,它会重置行(OnRowDataBound(。(但它不会重置编辑索引,我错了(。这就是为什么每当我们进行任何行编辑或删除时,我们都需要重新绑定网格视图,

所以

  1. 要退出编辑模式,我们必须设置 EditIndex = -1
  2. 在我们重新绑定 GridView 之前,编辑索引更改不会反映。