我正在使用此代码以编程方式移动行选择
For Each row In DataGridView1.Rows()
If row.Cells(0).Value.ToString().Equals(code) Then
row.Selected = True
End If
Exit For
Next
但我面临的问题是,这只会更改高亮显示的行,但实际上并没有选择行。。当我尝试从所选行获取数据时,它会提供上一行的数据,而不是蓝色突出显示的行。实际上行标题刻度类型的东西不会移动它停留在前一行。
您还必须设置selceted单元格:
For Each row As DataGridViewRow In DataGridView1.Rows()
If row.Cells(0).Value.ToString().Equals(code) Then
row.Selected = True
DataGridView1.CurrentCell = row.Cells(0)
Exit For
End If
Next
代码只适用于第一行的原因是Exit For
在If
语句之外。如果你包含它,代码就像一个符咒。