2012-01-05 46 views
6

Tôi muốn nhận tất cả giá trị cột từ DataTable và lưu trữ nó vào ListBox. Đây là mã của tôinhận giá trị từ DataTable

  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 

nhưng khi tôi biên dịch mã đó, tôi nhận được thông báo lỗi như thế này:

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

như vậy, làm thế nào để giải quyết vấn đề này ?? Xin hãy giúp tôi ....

Trả lời

10

Bạn có thể thử thay đổi nó như thế này:

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 

Lưu ý: vòng lặp của bạn cần phải được một ít so với số lượng hàng vì nó là một chỉ số zero-based.

+0

yapp, tôi nhớ phần đó: D cảm ơn sự giúp đỡ của bạn – Flashidkz

4

Dường như bạn đã vô tình khai báo DataType làm mảng chứ không phải dưới dạng chuỗi.

Thay đổi dòng 3 đến:

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

Điều đó sẽ làm việc.

Các vấn đề liên quan