重新绑定网格视图与编辑模式有什么关系
本文关键字:编辑 模式 关系 什么 视图 网格 新绑定 绑定 | 更新日期: 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(。(但它不会重置编辑索引,我错了(。这就是为什么每当我们进行任何行编辑或删除时,我们都需要重新绑定网格视图,
所以
- 要退出编辑模式,我们必须设置 EditIndex = -1
- 在我们重新绑定 GridView 之前,编辑索引更改不会反映。