получить значение из DataTable - PullRequest
6 голосов
/ 05 января 2012

Я хочу получить все значения столбца из DataTable и сохранить его в ListBox. Вот мой код

            If myTableData.Rows.Count > 0 Then
                For i As Integer = 0 To myTableData.Rows.Count
                    Dim DataType() As String = myTableData.Rows(i).Item(1)
                    ListBox2.Items.AddRange(DataType)
                Next
            End If

но когда я скомпилировал этот код, я получил сообщение об ошибке, подобное этому:

Unable to cast object of type 'System.String' to type 'System.String[]'

так, как решить эту проблему ?? Пожалуйста, помогите мне ....

Ответы [ 2 ]

11 голосов
/ 05 января 2012

Вы можете попробовать изменить его на:

If myTableData.Rows.Count > 0 Then
  For i As Integer = 0 To myTableData.Rows.Count - 1
    ''Dim DataType() As String = myTableData.Rows(i).Item(1)
    ListBox2.Items.Add(myTableData.Rows(i)(1))
  Next
End If

Примечание. Ваш цикл должен быть на единицу меньше числа строк, поскольку это индекс, начинающийся с нуля.

4 голосов
/ 05 января 2012

Похоже, вы случайно объявили DataType как массив, а не как строку.

Изменить строку 3 на:

Dim DataType As String = myTableData.Rows(i).Item(1)

Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...