猿问

GridView编辑更新问题?

使用GridView直接编辑更新数据时,出现一个让我迷惑的问题:

GridView编辑更新后绑定的数据仍是未更新前的数据,而再次点击编辑时才显示更新后的数据,但当后台数据是Oracle时,却不会发生这种情况,这是为什么?

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
  conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + base.Request.PhysicalApplicationPath + ConfigurationManager.AppSettings["AccessFile"]);

  string sqlstr = "update ComputerList set Machine_ID='"
                + ((TextBox)GridView1.Rows[GridView1.EditIndex].Cells[1].Controls[0]).Text + "' where Computer_Name='"
                + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";

  conn.Open();

 

  cmd = new OleDbCommand(sqlstr, conn);
  cmd.ExecuteNonQuery();

  GridView1.EditIndex = -1;
  bind(Session["GetDataSQL"].ToString());
}

 

public void bind(string GetDataSQL)
{
  string connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + base.Request.PhysicalApplicationPath + ConfigurationManager.AppSettings["AccessFile"];

  conn = new OleDbConnection(connStr);
  conn.Open();

  ds = this.StoneFunction.GetDSFromAccess(GetDataSQL, conn);

  DataView view = ds.Tables[0].DefaultView;
  GridView1.DataSource = view;

  GridView1.DataKeyNames = new string[] { "Computer_Name" };
  GridView1.DataBind();
  conn.Close();
}

 

public override void VerifyRenderingInServerForm(Control control)
{

}

喵喔喔
浏览 427回答 4
4回答

明月笑刀无情

GridView1_RowUpdated 中再重置列表数据。试试也无妨。                                        

慕沐林林

在更新后要重绑定数据才行

心有法竹

使用 GridView 自带的 Update 是不需要重新绑定的 楼主这问题奇怪,从这些代码片段里,看不出问题

慕虎7371278

不可能跟数据库有关系吧,从描述看好像是数据收集的问题
随时随地看视频慕课网APP
我要回答