在datatable中有4行即将到来,我必须使用for循环拉入datagridview,所以发生的事情只是最后一行来自数据网格中的4个数据网格看看
数据表“DTItems”中有4行
If DTItems.Rows.Count > 0 Then
For i As Integer = 0 To DTItems.Rows.Count - 1
If DataGridViewItems.Rows.Count <= i Then DataGridViewItems.Rows.Add()
DataGridViewItems.Rows(i).Cells(0).Value = DTItems.Rows(i).Item(1)
DataGridViewItems.Rows(i).Cells(1).Value = DTItems.Rows(i).Item(2)
DataGridViewItems.Rows(i).Cells(2).Value = DTItems.Rows(i).Item(3)
DataGridViewItems.Rows(i).Cells(3).Value = DTItems.Rows(i).Item(4)
DataGridViewItems.Rows(i).Cells(4).Value = DTItems.Rows(i).Item(5)
DataGridViewItems.Rows(i).Cells(5).Value = DTItems.Rows(i).Item(6)
DataGridViewItems.Rows(i).Cells(6).Value = DTItems.Rows(i).Item(7)
DataGridViewItems.Rows(i).Cells(7).Value = DTItems.Rows(i).Item(8)
DataGridViewItems.Rows(i).Cells(8).Value = DTItems.Rows(i).Item(9)
DataGridViewItems.Rows(i).Cells(9).Value = DTItems.Rows(i).Item(10)
DataGridViewItems.Rows(i).Cells(10).Value = DTItems.Rows(i).Item(11)
DataGridViewItems.Rows(i).Cells(11).Value = DTItems.Rows(i).Item(12)
DataGridViewItems.Rows(i).Cells(12).Value = DTItems.Rows(i).Item(13)
DataGridViewItems.Rows(i).Cells(13).Value = DTItems.Rows(i).Item(14)
DataGridViewItems.Rows(i).Cells(14).Value = DTItems.Rows(i).Item(0)
DataGridViewItems.Rows(i).Cells(15).Value = 0
Next
End If
我在数据网格视图中获得了3个空白行,第4个即将到来。
答案 0 :(得分:0)
您的问题在于:
If DataGridViewItems.Rows.Count <= i Then DataGridViewItems.Rows.Add()
<=
表示小于或等于,因此您只在i
到达DataGridViewItems.Rows.Count
时添加一行
尝试将其更改为:
If DataGridViewItems.Rows.Count >= i Then DataGridViewItems.Rows.Add()
此外,无论是否添加行,您都在尝试添加数据,更新数据可能也应该位于If DataGridViewItems.Rows.Count >= i Then
内,或者在i
大于If DTItems.Rows.Count > 0 Then
For i As Integer = 0 To DTItems.Rows.Count - 1
If DataGridViewItems.Rows.Count > i Then Exit For
DataGridViewItems.Rows.Add()
DataGridViewItems.Rows(i).Cells(0).Value = DTItems.Rows(i).Item(1)
DataGridViewItems.Rows(i).Cells(1).Value = DTItems.Rows(i).Item(2)
DataGridViewItems.Rows(i).Cells(2).Value = DTItems.Rows(i).Item(3)
DataGridViewItems.Rows(i).Cells(3).Value = DTItems.Rows(i).Item(4)
DataGridViewItems.Rows(i).Cells(4).Value = DTItems.Rows(i).Item(5)
DataGridViewItems.Rows(i).Cells(5).Value = DTItems.Rows(i).Item(6)
DataGridViewItems.Rows(i).Cells(6).Value = DTItems.Rows(i).Item(7)
DataGridViewItems.Rows(i).Cells(7).Value = DTItems.Rows(i).Item(8)
DataGridViewItems.Rows(i).Cells(8).Value = DTItems.Rows(i).Item(9)
DataGridViewItems.Rows(i).Cells(9).Value = DTItems.Rows(i).Item(10)
DataGridViewItems.Rows(i).Cells(10).Value = DTItems.Rows(i).Item(11)
DataGridViewItems.Rows(i).Cells(11).Value = DTItems.Rows(i).Item(12)
DataGridViewItems.Rows(i).Cells(12).Value = DTItems.Rows(i).Item(13)
DataGridViewItems.Rows(i).Cells(13).Value = DTItems.Rows(i).Item(14)
DataGridViewItems.Rows(i).Cells(14).Value = DTItems.Rows(i).Item(0)
DataGridViewItems.Rows(i).Cells(15).Value = 0
Next
End If
时简单地结束循环行数。
如:
{{1}}
答案 1 :(得分:0)
问题已解决,实际上,允许用户添加行的datagridview的默认属性设置为true,因此我将其更改为false并开始工作。