Vb.net 如何添加datagridview行
我得到了这个错误,“索引超出了范围。必须是非负的并且小于集合的大小。”我认为原因是我没有行,我在其中放置了一个值 这是正确的吗Vb.net 如何添加datagridview行,vb.net,datagridview,Vb.net,Datagridview,我得到了这个错误,“索引超出了范围。必须是非负的并且小于集合的大小。”我认为原因是我没有行,我在其中放置了一个值 这是正确的吗 DataGridView2.Rows.Add(New String() {0}) 基本上,我所做的是将一组数据分组并将其复制到另一个表中 For j As Integer = 1 To 29 Step 1 Dim DGV2Max1 As New DataGridViewTextBoxColumn DGV2Max1.DataPropertyName =
DataGridView2.Rows.Add(New String() {0})
基本上,我所做的是将一组数据分组并将其复制到另一个表中
For j As Integer = 1 To 29 Step 1
Dim DGV2Max1 As New DataGridViewTextBoxColumn
DGV2Max1.DataPropertyName = "Max" & j
DGV2Max1.HeaderText = "Max" & j
DGV2Max1.Name = "Max" & j
DataGridView2.Columns.Add(DGV2Max1)
Next
For j As Integer = 1 To 29 Step 1
For i As Integer = 0 To DataGridView1.RowCount - 1 Step 1
If DataGridView1.Rows(i).Cells("Group").Value = j Then
DataGridView2.Rows.Add(New String() {0})
DataGridView2.Rows(i).Cells("Max" & j).Value = DataGridView1.Rows(i).Cells("Group").Value
End If
Next
Next
您正试图通过
i
访问每个DataGridView中相同编号的行。如果在每次迭代中都没有将行添加到DataGridView2
中,这将不起作用
在DataGridView2
中查找最后一行,而不是尝试在每一行中使用同一行,使用该行:
For j As Integer = 1 To 29 Step 1
For i As Integer = 0 To DataGridView1.RowCount - 1 Step 1
If DataGridView1.Rows(i).Cells("Group").Value = j Then
DataGridView2.Rows.Add(New String() {0})
DataGridView2.Rows(DataGridView2.Rows.Count - 1).Cells("Max" & j).Value = DataGridView1.Rows(i).Cells("Group").Value
End If
Next
Next
您正试图通过
i
访问每个DataGridView中相同编号的行。如果在每次迭代中都没有将行添加到DataGridView2
中,这将不起作用
在DataGridView2
中查找最后一行,而不是尝试在每一行中使用同一行,使用该行:
For j As Integer = 1 To 29 Step 1
For i As Integer = 0 To DataGridView1.RowCount - 1 Step 1
If DataGridView1.Rows(i).Cells("Group").Value = j Then
DataGridView2.Rows.Add(New String() {0})
DataGridView2.Rows(DataGridView2.Rows.Count - 1).Cells("Max" & j).Value = DataGridView1.Rows(i).Cells("Group").Value
End If
Next
Next
这是我的最终代码
Dim dgv2 As Integer = 0
For j As Integer = 1 To 29 Step 1
For i As Integer = 0 To DataGridView1.RowCount - 1 Step 1
If DataGridView1.Rows(i).Cells("Group").Value = j Then
DataGridView2.Rows.Add(New String() {0})
DataGridView2.Rows(dgv2).Cells("Max" & j).Value = DataGridView1.Rows(i).Cells("X_Pitch").Value
dgv2 += 1
End If
Next
Next
这是我的最终代码
Dim dgv2 As Integer = 0
For j As Integer = 1 To 29 Step 1
For i As Integer = 0 To DataGridView1.RowCount - 1 Step 1
If DataGridView1.Rows(i).Cells("Group").Value = j Then
DataGridView2.Rows.Add(New String() {0})
DataGridView2.Rows(dgv2).Cells("Max" & j).Value = DataGridView1.Rows(i).Cells("X_Pitch").Value
dgv2 += 1
End If
Next
Next
在DataGridView2.Rows(i).Cells(“Max”&j).Value=DataGridView1.Rows(i).Cells(“Group”).Value中,表示错误在哪一行?您没有
单元格或行。检查(调试)DataGridView2
并查询行数
。如果有行
,请检查一行是否有单元格
您是正确的,我的错。我为dgv 2声明了另一个循环。它说错误在哪一行?在DataGridView2.Rows(I).Cells(“Max”&j).Value=DataGridView1.Rows(I).Cells(“Group”).Value您没有Cells
或Rows
。检查(调试)DataGridView2
并查询行数
。如果有行
,请检查一行是否有单元格
您是正确的,我的错。我为dgv2声明了另一个循环。