如何使用DataSet.GetChanges()或者 DataTable.Getchanges()?
我把他们绑定到DataGrid上,对DataGrid进行修改,然后调用GetChanges(),为什么返回的是null?

解决方案 »

  1.   

    先调用一下DataGrid.EndEdit()方法,再调用DataSet.GetChanges()或者 DataTable.Getchanges().
      

  2.   

    对datagrid修改不会改变dataset中的值
      

  3.   

    我把DataGrid绑定在DataSet上了
      

  4.   

    datagrid1.DataSource = ds;//数据集
    datagrid1.DataMember = "dtName";//表名//....在datagrid中修改数据if (ds.HasChanges == true)//有数据修改
    if (ds.GetChanges()!=null)//有数据修改if (dt.GetChanges()!=null)//有数据修改
      

  5.   

    你先要确定你在grid中修改的东西存入到缓存中,比如你录入了一行资料,换一下行.
      

  6.   

    对GRID 修改 并不会改变  DataSet的值。
      

  7.   

    在對DADESET裏面的紀錄進行修改,刪除的操作后,用AcceptChanges
         Dim oDR As DataRow
          oDR.AcceptChanges()
      

  8.   

    w为什么对GRID 修改 并不会改变  DataSet的值?
      

  9.   

    这是我的代码:各位帮看看  
    加载页面时:
                      public 构造函数()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent();
    //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    //                           this.sqlSelectCommand1.CommandText=this.strSelect;
    this.sqlSelectCommand1.Connection=link.GetCon(); this.da.SelectCommand=this.sqlSelectCommand1;
    da.Fill(this.ds);
    SqlCommandBuilder sqlCb=new SqlCommandBuilder(da);
                                GridStateContrl();//定义样式
    this.dgd_Sld.DataSource=ds;
    this.dgd_Sld.DataMember=ds.Tables[0].TableName;
    }
    rivate void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
    {

    if(e.Button.ToolTipText=="保存")
    { ds.Tables[0].AcceptChanges();
    if(this.ds.GetChanges()!=null)
    {
    //this.tempTable
    da.Update(ds,ds.Tables[0].TableName);
    }
    if(this.ds.HasChanges()==true)
    {
    da.Update(ds,ds.Tables[0].TableName);
    }
    }
    if(e.Button.ToolTipText=="退出")
    {
    this.Close();
    }
    }
      

  10.   

    /*在保存前千万不能ds.Tables[0].AcceptChanges();
    这样所以数据行都变成UnChanged了,所以把这一句去掉;
    保存成功了后,在执行这一句*/
      

  11.   

    private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
    {

    if(e.Button.ToolTipText=="保存")
    { //注释ds.Tables[0].AcceptChanges();
    if(this.ds.GetChanges()!=null)
    {
    //this.tempTable
    da.Update(ds,ds.Tables[0].TableName);
    }
    if(this.ds.HasChanges()==true)
    {
    da.Update(ds,ds.Tables[0].TableName);
    }
    ds.Tables[0].AcceptChanges();
    }
    if(e.Button.ToolTipText=="退出")
    {
    this.Close();
    }
    }
      

  12.   

    可是 现在的问题是 我得到的 this.ds.HasChanges()!=true ,而且this.ds.GetChanges()==null
      

  13.   

    可是 现在的问题是 我得到的 this.ds.HasChanges()!=true ,而且this.ds.GetChanges()==null