У меня есть два отдельных набора данных, один из целых чисел и один из строк. Оба размера 3x3, и я хочу просто объединить две таблицы и показать их в представлении datagridview, чтобы показать 3x6 datagridview.Объединить столбцы разных типов из данных в один более крупный файл данных
И я хочу поставить два вместе, чтобы получить изображение ниже
Dim stringtable As New DataTable
stringtable.Columns.Add("PK", GetType(Integer))
stringtable.Columns.Add("Col1", GetType(Integer))
stringtable.Columns.Add("Col2", GetType(Integer))
stringtable.Columns.Add("Col3", GetType(Integer))
stringtable.Rows.Add(1, 1, 1, 1)
stringtable.Rows.Add(2, 2, 2, 2)
stringtable.Rows.Add(3, 3, 3, 3)
Dim primaryKey(1) As DataColumn
primaryKey(0) = stringtable.Columns("Name")
stringtable.PrimaryKey = primaryKey
Dim Inttable As New DataTable
Inttable.Columns.Add("PK", GetType(Integer))
Inttable.Columns.Add("ColA", GetType(String))
Inttable.Columns.Add("ColB", GetType(String))
Inttable.Columns.Add("ColC", GetType(String))
Inttable.Rows.Add(1, "A", "A", "A")
Inttable.Rows.Add(2, "B", "B", "B")
Inttable.Rows.Add(3, "C", "C", "C")
primaryKey(0) = Inttable.Columns("Name")
Inttable.PrimaryKey = primaryKey
DataGridView2.DataSource = stringtable
DataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
DataGridView2.AllowUserToAddRows = False
DataGridView1.DataSource = Inttable
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
DataGridView1.AllowUserToAddRows = False
''This is where I can't figure out what do
Dim mergedTable As New DataTable
mergedTable = DataGridView2.DataSource
mergedTable.Merge(Inttable, False, MissingSchemaAction.Add)
DataGridView3.DataSource = mergedTable
Я попробовал несколько вещей, но не могу показаться, чтобы получить это право. Иногда он заполняет 6x6 datagridview 12 незанятыми ячейками, а в других случаях он сохраняет значения одного datatable, но ставит пробелы для всех значений второго.
EDIT Я редактировал свой код, чтобы отразить добавление первичного ключа к DataTables, но теперь в течение некоторой таблицы заселяет с пустыми ячейками. Может кто-нибудь сказать мне, почему DataTables обыкновение просто сливать на первичном, не выходя из заготовок
прочитал об установке колонки, чтобы быть основным, но так как не было никакой общей колонки я надеялся, что может более легкий путь, чем все, что модификации данных. Если я прав, не так просто просто добавить столбец с циклом через все строки? это примеры таблиц, и мои SQL-запросы производят гораздо более большие данные datagridviews – user3334230
Можете ли вы посмотреть мое редактирование, Большое спасибо. – user3334230
@ user3334230, только что обновил мой ответ - Надеюсь, это объяснит это лучше/делает трюк для вас ... –