RowFilter 后 子集与原始数据怎样同步?高分奉上

阿钚 2007-12-20 11:12:16
有一个DataSet 保存的原始数据集,

页面显示的时候通过 DataTable.RowFilter(条件)选出符合条件的数据作为子集,

如果我在页面上更新了子集的某条记录,怎样让这个改动反映到原始数据集中?

有什么好方法吗?
...全文
94 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿钚 2007-12-20
  • 打赏
  • 举报
回复
页面是用什么显示数据?

------------
这个跟问题没有关系吧?
实际上更新的字段是不在页面显示的,是一个flg
直接在后台代码里改变它的值。
  • 打赏
  • 举报
回复
按照你现在的程序的话,DataRow [] rows = dt1.Select(dt1.DefaultView.RowFilter + "And 主键列 ='" + dt2[0][主键列] + "'");这就是你要更改的列了。把值修改一下就可以了。
  • 打赏
  • 举报
回复
页面是用什么显示数据?
阿钚 2007-12-20
  • 打赏
  • 举报
回复
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的类型
jiatong1981 2007-12-20
  • 打赏
  • 举报
回复
把你的代码贴出来
阿钚 2007-12-20
  • 打赏
  • 举报
回复
楼上两位可以说的详细些吗?

通过RowFilter 之后 生成一个新的DataSet(子集),

通过更改这个自己,可以自动反映到原始数据集中?
lovehongyun 2007-12-20
  • 打赏
  • 举报
回复
da.update()
北京的雾霾天 2007-12-20
  • 打赏
  • 举报
回复
如果正确的使用了BeginEdit及EndEdit,那么数据会自动的更新到源表的源行的。
jiatong1981 2007-12-20
  • 打赏
  • 举报
回复
datatable.merge就会把数据改动自动合并起来

你只要在适当的地方调用就可以了

orgdatatable.Merge(newdatatable);//注意是将newdatatable中的变动合并到orgdatatable中

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧