4

我需要将两个 DataViews 添加在一起,以便拥有一个可以绑定到 Repeater 的 Dataview。

我正在插入其他人的 API,因此我无法更改在 SQL 级别检索数据的方式。

所以基本上我想这样做:

DataView dView1 = getActiveModules();
DataView dView2 = getInactiveModules();

ModuleView = dView1 + dView2;

rptModules.DataSource = ModuleView.Tables[0];
rptModules.DataBind();

视图的两个模式是相同的,只是检索活动和非活动模块。

有任何想法吗?

谢谢。

4

2 回答 2

6

您可以合并您的数据视图,例如...

System.Data.DataView dv = new System.Data.DataView();
System.Data.DataView dv1 = new System.Data.DataView();
dv.Table.Merge(dv1.Table);
于 2010-06-22T04:39:13.603 回答
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 与当前的 DataTable 合并。

Merge 方法用于合并具有非常相似架构的两个 DataTable 对象。合并通常用于客户端应用程序,以将来自数据源的最新更改合并到现有 DataTable 中。这允许客户端应用程序拥有一个带有来自数据源的最新数据的刷新的 DataTable。

合并操作只考虑原始表和要合并的表。子表不受影响或不包括在内。如果一个表有一个或多个子表,定义为关系的一部分,则必须单独合并每个子表。

于 2010-06-22T04:38:47.070 回答