Добавить один DataView к другому в C # - PullRequest
4 голосов
/ 22 июня 2010

Мне нужно добавить два DataView вместе, чтобы иметь один Dataview, который затем можно привязать к повторителю.

Я подключаюсь к чужому API, поэтому не могу изменить способ получения данных на уровне SQL.

Итак, по сути, я хочу сделать это:

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

ModuleView = dView1 + dView2;

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

Две схемы для представлений идентичны, только при извлечении активных и неактивных модулей.

Есть идеи?

Спасибо.

Ответы [ 2 ]

6 голосов
/ 22 июня 2010

Вы можете объединить свой вид данных как ...

System.Data.DataView dv = new System.Data.DataView();
System.Data.DataView dv1 = new System.Data.DataView();
dv.Table.Merge(dv1.Table);
3 голосов
/ 22 июня 2010

Вы можете легко объединить / объединить два представления (таблицы данных) в одну таблицу данных.

Пример синтаксиса

    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.

Метод слияния используется для объединения двух Объекты DataTable, которые имеют в значительной степени похожие схемы. Слияние обычно используется в клиентском приложении для включить последние изменения из источник данных в существующий Таблица данных. Это позволяет клиенту заявка на обновление DataTable с последними данными из источник данных.

Операция объединения учитывает только оригинальный стол и стол быть объединенным. Дочерние таблицы не затронут или включен. Если стол имеет одна или несколько дочерних таблиц, определенных как часть отношений, каждый ребенок Таблица должна объединяться индивидуально.

...