我需要将两个DataViews一起添加到一个Dataview中,然后可以绑定到Repeater。
我正在插入其他人的API,因此我无法更改在SQL级别检索数据的方式。
基本上我想这样做:
DataView dView1 = getActiveModules();
DataView dView2 = getInactiveModules();
ModuleView = dView1 + dView2;
rptModules.DataSource = ModuleView.Tables[0];
rptModules.DataBind();
视图的两个模式只是检索活动和非活动模块。
有什么想法吗?
感谢。
答案 0 :(得分:6)
您可以将数据视图合并为...
System.Data.DataView dv = new System.Data.DataView();
System.Data.DataView dv1 = new System.Data.DataView();
dv.Table.Merge(dv1.Table);
答案 1 :(得分:3)
您可以轻松地将两个视图(数据表)组合/合并到一个数据表中。
Dim a As DataView
Dim b As DataView
a.Table.Merge(b.Table)
Dim c As New DataView
c.Table.Merge(a.Table) 'might generate error because c.Table is null
来自http://msdn.microsoft.com/en-us/library/system.data.datatable.merge.aspx
DataTable.Merge方法将指定的DataTable与当前值合并 数据表。
Merge方法用于合并两个 具有很大的DataTable对象 类似的模式。通常是合并 用于客户端应用程序 纳入最新的变化 数据源成现有的 数据表。这允许客户端 申请要刷新 DataTable包含最新数据 数据源。
合并操作会考虑在内 只有原始表和表 合并。子表不是 受影响或包括在内如果一张桌子有 一个或多个子表,定义为 关系的一部分,每个孩子 表必须单独合并。