꽤 복잡한 응용 프로그램에서 listviews를 성공적으로 사용했지만 DataGridView를 사용하고 싶습니다. 제대로 작동하지 않습니다. 나는 데이터를 읽기 위해 클래스 나 내 자신의 의사 미들웨어를 사용하고 테이블을 컨트롤에 바인딩하는 것을 피했다. 다음은 올바른 코드가 아닌 간단한 예제입니다.DataGridView에 데이터가 표시되지 않는 이유는 무엇입니까?
Dim ds As New DataSet
Dim nrows as Integer
ds = dbio.ReadLocations("") 'Reads place names, with an optional search string
nrows = ds.Tables(0).Rows.Count
'Note: I can insert code here that successfully displays the data in a listview
Dim dtStates As DataTable = New DataTable("TableName")
Dim drStates As DataRow 'A component row of dtstates
Dim dr As DataRow 'A component row of the result set, ds
dtStates.Clear()
'There are just 3 columns in the data grid
dtStates.Columns.Add("ID", GetType(String))
dtStates.Columns.Add("StateName", GetType(String))
dtStates.Columns.Add("Country", GetType(String))
'Build the data table, row-by-row
For i = 1 To nRows
dr = ds.Tables(0).Rows(i - 1) 'Get a row from the populated data set
drStates = dtStates.NewRow 'Create a new row object
'Populate the new row object
drStates("ID") = dr("ID").ToString
drStates("StateName") = dr("StateName")
drStates("Country") = dr("Country")
'Put the new row object into the data table
dtStates.Rows.Add(drStates)
Next
'Bind the DataGridView to my data table
grdStates.DataSource = dtStates
그리드가 "켜지 며"적절한 행을 가지며 데이터가 없습니다. 내 가장 좋은 추측은 DataGridView에 대해 DataMember를 정의해야하지만 어떤 값을 배치해야하는지 상상할 수 없다는 것입니다. grdStates.DataMember = "TableName"및 다른 값 (심지어 "")을 시도했지만 아무 것도 작동하지 않습니다.
nRows> 0입니까? – matzone
물론입니다. 그것은 68입니다. 그리드에는 68 개의 빈 행이 있습니다. –