Comment : obtenir et définir la cellule active dans le contrôle DataGridView Windows Forms

L’interaction avec la DataGridView fréquence nécessite que vous découvriez par programme quelle cellule est actuellement active. Vous devrez peut-être également modifier la cellule active. Vous pouvez effectuer ces tâches avec la CurrentCell propriété.

Remarque

Vous ne pouvez pas définir la cellule active dans une ligne ou une colonne dont la propriété a la Visible valeur false.

Selon le DataGridView mode de sélection du contrôle, la modification de la cellule active peut modifier la sélection. Pour plus d’informations, consultez Modes de sélection dans le contrôle DataGridView Windows Forms.

Pour obtenir la cellule actuelle par programmation

  • Utilisez la DataGridView propriété du CurrentCell contrôle.

    private void getCurrentCellButton_Click(object sender, System.EventArgs e)
    {
        string msg = String.Format("Row: {0}, Column: {1}",
            dataGridView1.CurrentCell.RowIndex,
            dataGridView1.CurrentCell.ColumnIndex);
        MessageBox.Show(msg, "Current Cell");
    }
    
    Private Sub getCurrentCellButton_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles getCurrentCellButton.Click
    
        Dim msg As String = String.Format("Row: {0}, Column: {1}", _
            dataGridView1.CurrentCell.RowIndex, _
            dataGridView1.CurrentCell.ColumnIndex)
        MessageBox.Show(msg, "Current Cell")
    
    End Sub
    

Pour définir la cellule actuelle par programmation

  • Définissez la CurrentCell propriété du DataGridView contrôle. Dans l’exemple de code suivant, la cellule active est définie sur la ligne 0, colonne 1.

    private void setCurrentCellButton_Click(object sender, System.EventArgs e)
    {
        // Set the current cell to the cell in column 1, Row 0.
        this.dataGridView1.CurrentCell = this.dataGridView1[1,0];
    }
    
    Private Sub setCurrentCellButton_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles setCurrentCellButton.Click
    
        ' Set the current cell to the cell in column 1, Row 0. 
        Me.dataGridView1.CurrentCell = Me.dataGridView1(1, 0)
    
    End Sub
    

Compilation du code

Cet exemple nécessite :

  • Button contrôles nommés getCurrentCellButton et setCurrentCellButton. Dans Visual C#, vous devez joindre les Click événements de chaque bouton au gestionnaire d’événements associé dans l’exemple de code.

  • un contrôle DataGridView nommé dataGridView1 ;

  • des références aux assemblys System et System.Windows.Forms.

Voir aussi