Я унаследовал несколько DataTables с разными именами столбцов, которые все отображаются в их собственных DataGridView. Я хотел бы создать новый дополнительный DataGridView, который отобразит их все в одном DataGridView. Например (очень упрощенной):Отображение строк из нескольких DataTables в одном DataGridView
public class DataTableA: DataTable
{
public DataTableA()
{
this.Columns.Add("DateA", typeof(string));
this.Columns.Add("PriceA", typeof(string));
this.Columns.Add("SomeOtherFieldA", typeof(string));
}
}
public class DataTableB: DataTable
{
public DataTableB()
{
this.Columns.Add("DateB", typeof(string));
this.Columns.Add("PriceB", typeof(string));
this.Columns.Add("SomeOtherFieldB", typeof(string));
}
}
Я хотел бы, чтобы отобразить значения из DataTableA.DateA и DataTableB.DateB в одном столбце, а значения из DataTableA.PriceA и DataTableB.PriceB в одном столбце в новый DataGridView. Я изучал создание общего базового класса или интерфейса, но еще не имел большой удачи. Не изменяя имена столбцов (не вариант), можно ли сделать привязку, которая будет отображаться как в том же столбце?
Edit:
К сожалению, я не думаю, что просто слияние или агрегирование DataTables в новый DataTable будет работать, так как система была разработана таким образом, что есть логика внутри классов DataTableX (например, DataTableA и DataTableB) для обработки push-данных и обновления соответствующей строки в DataTable.
Кроме того, я не пытаюсь объединить строк из нескольких таблиц DataTables в одну строку, я пытаюсь отобразить несколько столбцов с разными именами в одном столбце в DataGridView. Например, говорят, что там были данные, как это:
DataTableA:
DateA PriceA SomeOtherFieldA 20141118 2.0 a 20141119 3.0 b
DataTableB:
DateB PriceB SomeOtherFieldB 20141118 4.0 c 20141119 5.0 d
Я хотел бы, чтобы отобразить следующую информацию в DataGridView:
Date Price 20141118 2.0 20141119 3.0 20141118 4.0 20141119 5.0
использовать этот HTTP: // StackOverflow. com/questions/12278978/combining-n-datatables-in-a-single-datatable –
Также вы можете создать еще один класс для агрегированной таблицы, который будет принимать DataTableA и DataTableB в качестве параметра конструктора и помещать данные там, как вы хотеть. – Gleb
Вы копируете данные из обоих типов данных в третью. Вы можете сохранить первые два данных, синхронизированных с третьими данными, обработкой событий изменений в двух первых таблицах данных. – Tarik