Fla*_*dkz 7 vb.net datatable listbox
我想从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
Run Code Online (Sandbox Code Playgroud)
但是当我编译该代码时,我收到如下错误消息:
Unable to cast object of type 'System.String' to type 'System.String[]'
Run Code Online (Sandbox Code Playgroud)
那么,如何解决这个问题?请帮我....
Lar*_*ech 13
您可以尝试将其更改为:
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
Run Code Online (Sandbox Code Playgroud)
注意:您的循环需要比行数少一个,因为它是一个从零开始的索引.
看起来您不小心将其声明DataType为数组而不是字符串。
将第3行更改为:
Dim DataType As String = myTableData.Rows(i).Item(1)
Run Code Online (Sandbox Code Playgroud)
那应该工作。