从DataTable获取值

11

我想从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个回答

20

您可以尝试将其更改为以下内容:

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

注意:由于索引从0开始,所以您的循环次数需要比行数少1。


8

看起来你不小心将DataType声明为数组而不是字符串。

将第3行改为:

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

那应该可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接