[RESOLVED] DataGridview.currentCell()
Hi,
i have a dataGridView and I'm trying to automatically move focus to the second cell on the current row when the first column receives focus. i tried these 2 methods below and both returning errors
Code:
Private Sub grdparameters_CellEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdparameters.CellEnter
If e.ColumnIndex = 0 Then
grdparameters.CurrentCell = grdparameters(1, e.RowIndex)
End If
End Sub
Private Sub grdparameters_CurrentCellChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles grdparameters.CurrentCellChanged
MsgBox(grdparameters.CurrentCell.ColumnIndex)
If grdparameters.CurrentCell.ColumnIndex = 0 Then
grdparameters.CurrentCell = grdparameters(1, grdparameters.CurrentRow.Index)
End If
End Sub
What am i missing here ? :confused::confused::confused:
Re: DataGridview.currentCell()
Don't know what you're missing but we're missing the error messages that might give us a bit of a clue!
Re: DataGridview.currentCell()
1st error:
Operation is not valid because it results in a reentrant call to the setCurrentAddressCore
2nd error:
object ref not set to an instance of an object
Re: DataGridview.currentCell()
try the _CellClick event:
Code:
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellClick
If e.ColumnIndex = 0 Then
DataGridView1.CurrentCell = DataGridView1(1, e.RowIndex)
End If
End Sub
Re: DataGridview.currentCell()
here's a better solution for you:
Code:
Public Class Form1
Delegate Sub SetColumnIndex()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
grdparameters.Rows.Add()
End Sub
Private Sub grdparameters_CellEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdparameters.CellEnter
If e.ColumnIndex = 0 Then
Dim method As New SetColumnIndex(AddressOf Mymethod)
grdparameters.BeginInvoke(method)
End If
End Sub
Private Sub Mymethod()
grdparameters.CurrentCell = grdparameters.CurrentRow.Cells(1)
'grdparameters.BeginEdit(True)
End Sub
End Class
Re: DataGridview.currentCell()
Thanks .Paul,, this worked :wave::wave: