Définir le focus dans un datagridview dans un formulaire Windows
-
01-07-2019 - |
Question
J'ai un datagridview qui accepte une liste (de myObject) comme source de données. Je souhaite ajouter une nouvelle ligne à la grille de données à ajouter à la base de données. Cela se fait en obtenant la liste ... en ajoutant un myObject vierge à la liste, puis en redéfinissant la source de données. Je souhaite maintenant définir le focus sur la deuxième cellule de la nouvelle ligne.
Pour clarifier, j'essaie de définir le focus
La solution
Vous pouvez définir le focus sur une cellule spécifique dans une ligne, mais uniquement si SelectionMode sur le DataGridView est défini sur CellSelect. Si tel est le cas, procédez simplement comme suit:
dataGridView.Rows[rowNumber].Cells[columnNumber].Selected = true;
Autres conseils
Dans WinForms, vous devriez pouvoir définir le
Me.dataEvidence.SelectedRows
propriété de la ligne que vous souhaitez sélectionner.
Dans Visual Studio 2012 (vb.NET Framework 4.50 ), vous pouvez définir le focus sur n'importe quelle cellule souhaitée d'un contrôle DataGridView.
Essayez ceci:
Sub Whatever()
' all above code
DataGridView1.Focus()
DataGridView1.CurrentCell = DataGridView1.Rows(x).Cells(y) 'x is your desired row number, y is your desired column number
' all below code
End Sub
OK, ça marche pour moi. J'espère que cela fonctionne pour vous aussi.