C'est si simple. Comment obtenir l'index de la Row
actuellement sélectionnée d'un DataGridView
? Je ne veux pas de l'objet Row
, je veux l'index (0 .. n).
Il existe la propriété RowIndex
pour la propriété CurrentCell
pour DataGridView.
datagridview.CurrentCell.RowIndex
Traitez l'événement SelectionChanged
et recherchez l'index de la ligne sélectionnée comme ci-dessus.
Utilisez la propriété Index dans la collection SelectedRows de votre DGV:
int index = yourDGV.SelectedRows[0].Index;
dataGridView1.SelectedRows[0].Index;
Ou si vous voulez utiliser LINQ et obtenir l'index de toutes les lignes sélectionnées, vous pouvez faire:
dataGridView1.SelectedRows.Select(r => r.Index);
dataGridView1.SelectedRows[0].Index;
Ici, vous trouverez tout sur datagridview tutoriel C # datagridview
Lynda
essayez ceci cela fonctionnera ... il vous donnera l'index de l'index de ligne sélectionné ...
int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());
essaye ça
bool flag = dg1.CurrentRow.Selected;
if(flag)
{
/// datagridview row is selected in datagridview rowselect selection mode
}
else
{
/// no row is selected or last empty row is selected
}
Essayez le:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
J'espère que cela vous aidera.
Essayez DataGridView.CurrentCellAddress .
Renvoie: Un point qui représente les index de ligne et de colonne de la cellule active.
PAR EXEMPLE. Sélectionnez la première colonne et la cinquième ligne et vous obtiendrez: Point (X = 1, Y = 5)
J'ai modifié la réponse de @JayRiggs, et cela fonctionne. Vous avez besoin de if
parce que parfois les SelectedRows peuvent être vides, l'opération d'index lève une exception.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Vous pouvez essayer ce code:
int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
J'ai utilisé si obtenir la valeur de la ligne est cliqué:
private void dataGridView_Product_CellClick(object sender, DataGridViewCellEventArgs e){
int rowIndex;
//rowIndex = e.RowIndex; //Option 1
//rowIndex= dataGridView_Product.CurrentCell.RowIndex; //Option 2
rowIndex = dataGridView_Product.CurrentRow.Index; //Option 3
}