我有一个datagridview(DGV),我希望该行的第一个单元格是序列号,所以我提出了这段代码。
Private Sub dgvStudents_RowEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVStudents.RowEnter
Dim RowIndex As Integer = e.RowIndex
Debug.Print(RowIndex.ToString)
With DGVStudents
.Rows(e.RowIndex).Cells(0).Value = e.RowIndex + 1
If .Rows(e.RowIndex).Cells(0).Selected = True Then
.Rows(e.RowIndex).Cells(0).Selected = False
.Rows(e.RowIndex).Cells(1).Selected = True
End If
End With
DGVStudents.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
End Sub
主要目的是进入一个新行,为第一个单元格编号并将焦点移动到下一个单元格。把它放在编辑模式,但我似乎可以让它工作。有什么帮助吗?
答案 0 :(得分:2)
我相信你实际上处于第一个单元格的编辑模式,也许你可以将其推入CellEnter
事件,以防第一个单元格使用SendKeys.Send(“{TAB}”)移动你到下一个细胞。此外,如果用户不会更改该值,则将第一列设置为ReadOnly
。
您还可以尝试设置CurrentCell
此类内容的DataGridView
属性
datagridview1.CurrentCell = Rows(e.RowIndex).Cells(1);