получить значение из объекта DataTable

Я хочу получить все значение столбца из 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 ответов


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

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

Примечание: ваш цикл должен быть меньше, чем количество строк с нулевой индекс.


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

изменение 3 к:

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

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