Как записать массив в разные столбцы в таблице данных?

#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. Только что сделал. Спасибо Мэри