#arrays #vb.net #datatable
#массивы #vb.net #таблица данных
Вопрос:
Мне нужно сгенерировать таблицу данных из массива и добавить массив в разные столбцы в таблице данных. The VB.net код будет выглядеть примерно так: DataTable.Rows.Add(ID, (A(I),I = от 1 до 100), но я знаю, что это не работает. Может кто-нибудь сказать мне, как это можно сделать, чтобы мне не нужно было перечислять A от A(1) до A(100), например DataTable.Rows.Add(ID, A(1), A(2), ….., A(100))? Заранее спасибо!
Комментарии:
1.
DataTable.Rows.Add(Your array)
. Добавление данных в таблицу данных.2. Спасибо, Джими. Это было первое, что я попробовал, но это не сработало. Только первый столбец содержал «System. Строка []», все остальные столбцы были пустыми.
3. Вы не указали, сколько столбцов имеет ваша таблица данных. Вы создали столбцы? Смотрите DataColumnCollection . Метод AddRange() . У вас есть только один столбец? Создайте его, используйте цикл для добавления строки).
4. Да, перед этой строкой у меня есть DataTable. Столбцы. Добавить(«AssessmentTypeID», GetType(целое число)) Для JI = от 1 до 100 ColName = «Col» amp; JI. toString() DataTable . Столбцы. Добавить(ColName, GetType(строка)) Далее, таким образом, всего 101 столбец.
5. Эти вопросы НЕ являются неактуальными. Другой вопрос можете ли вы отредактировать свой вопрос и показать некоторый код, который будет скомпилирован, чтобы продемонстрировать, что вы пробовали.
Ответ №1:
Итак, чтобы сделать что-то вроде этого.
Затемните таблицу1 как новую таблицу данных («Элементы»)
' Add columns
Dim idColumn As New DataColumn("id", GetType(System.Int32))
table1.Columns.Add(idColumn)
For i As Integer = 1 To 100
Dim itemColumn As New DataColumn("item" amp; i.ToString, GetType(System.Int32))
table1.Columns.Add(itemColumn)
Next i
' Set the primary key column.
table1.PrimaryKey = New DataColumn() {idColumn}
' Add RowChanged event handler for the table.
AddHandler table1.RowChanged, AddressOf Row_Changed
' Add some rows.
Dim row As DataRow
row = table1.NewRow()
row("id") = 1
For i As Integer = 1 To 100
row("item" i.toString) = a(i)
Next i
table1.Rows.Add(row)
' Accept changes.
table1.AcceptChanges()
Комментарии:
1. Спасибо nbk. Очень ценю вашу помощь. Я попробую.
2. Правильный ответ — принять ответ, щелкнув галочку (галочку) слева от ответа.
3. Только что сделал. Спасибо Мэри