如果正确的使用了BeginEdit及EndEdit,那么数据会自动的更新到源表的源行的。

解决方案 »

  1.   

    楼上两位可以说的详细些吗?通过RowFilter 之后 生成一个新的DataSet(子集),通过更改这个自己,可以自动反映到原始数据集中?
      

  2.   

    DataTable dt1 = GetDBData();//从数据库取得原始数据集
    dt1.DefaultView.RowFilter = "A < 10";
    DataTable dt2 = new DataTable();
    dt2.Merge(dt1.DefaultView.ToTable()); //dt2是筛选后的子集dt2[0].XXX = XXX; //更改子集的某一条的数据更改后的dt2的数据,怎样反映到dt1上去?实际程序里,这里的dt1 和 dt2 是两个继承自DataTable的类型
      

  3.   

    按照你现在的程序的话,DataRow [] rows = dt1.Select(dt1.DefaultView.RowFilter + "And 主键列 ='" + dt2[0][主键列] + "'");这就是你要更改的列了。把值修改一下就可以了。
      

  4.   

    页面是用什么显示数据?------------
    这个跟问题没有关系吧?
    实际上更新的字段是不在页面显示的,是一个flg
    直接在后台代码里改变它的值。
      

  5.   

    datatable.merge就会把数据改动自动合并起来你只要在适当的地方调用就可以了orgdatatable.Merge(newdatatable);//注意是将newdatatable中的变动合并到orgdatatable中