ENTER key as TAB in datagridview issue in vb.net
Here is my working code of pressing Enter key to move to another cell like
TAB:
Private Sub dvFromAlloc_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles dvFromAlloc.KeyDown
If e.KeyCode = Keys.Enter Then
Dim colm As Integer = dvFromAlloc.ColumnCount - 1
Dim row As Integer = dvFromAlloc.RowCount - 1
Dim currCell As DataGridViewCell = dvFromAlloc.CurrentCell
If currCell.ColumnIndex = colm Then
If currCell.RowIndex < row Then
'gets the next row and the first selected index
dvFromAlloc.CurrentCell = dvFromAlloc.Item(0,
currCell.RowIndex + 1)
End If
Else
'move in next col in the current row
dvFromAlloc.CurrentCell =
dvFromAlloc.Item(currCell.ColumnIndex + 1, currCell.RowIndex)
End If
e.Handled = True
End If
End Sub
Private Sub dvFromAlloc_CellEndEdit(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dvFromAlloc.CellEndEdit
isEdited = True
iColumnindex = e.ColumnIndex
irowindex = e.RowIndex
End Sub
Private Sub dvFromAlloc_SelectionChanged(ByVal sender As Object, ByVal e
As System.EventArgs) Handles dvFromAlloc.SelectionChanged
If isEdited Then
isEdited = False
dvFromAlloc.CurrentCell = dvFromAlloc.Item(iColumnindex + 1,
irowindex)
End If
End Sub
Its perfectly working, but when I am in the last row, I need to press
ENTER key two times before it move to another column, If I do not edit a
cell, It will move when I press ENTER key once, but if I edited a cell and
then press ENTER key, I need to press it twice.
Thank you for your help
No comments:
Post a Comment