2012-01-05 3 views
6

DataTable에서 모든 열 값을 가져와 ListBox에 저장하려고합니다. 여기에 내 코드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 

하지만 난 그 코드를 컴파일 할 때,이 같은 오류 메시지가 있어요 :

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

그래서, 어떻게이 문제를 해결하기를 ??

답변

10

당신이로 변경 시도 할 수 있습니다 .... 제발 도와주세요 :

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부터 시작하는 인덱스 이후의 행의 수보다 하나 더 적은을 할 필요가있다.

+0

yapp, 그 부분을 놓치세요 : D 감사합니다. – Flashidkz

4

실수로 DataType을 문자열이 아닌 배열로 선언 한 것 같습니다. 에

변경 라인 3 :

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

작동합니다 그.