C’est si simple. Comment puis-je obtenir l’index de la ligne actuellement sélectionnée d’un DataGridView
? Je ne veux pas l’object Row
, je veux l’index (0 .. n).
Il existe la propriété RowIndex
pour la propriété CurrentCell
du DataGridView.
datagridview.CurrentCell.RowIndex
Gérez 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 C # datagridview tutoriel
Lynda
essayez ça ça va marcher … ça va vous donner l’index de l’index de la ligne sélectionnée …
int rowindex = dataGridView1.CurrentRow.Index; MessageBox.Show(rowindex.ToSsortingng());
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 DataGridView.CurrentCellAddress .
Renvoie: Un point qui représente les index de ligne et de colonne de la cellule actuellement active.
EG Sélectionnez la première colonne et la cinquième ligne et vous reviendrez: Point (X = 1, Y = 5)
Essayez-le:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number MessageBox.Show("Current Row Index is = " + rc.ToSsortingng());
J’espère que cela vous aidera.
J’ai modifié la réponse de @JayRiggs, et cela fonctionne. Vous avez besoin de if
car parfois les SelectedRows peuvent être vides, donc l’opération d’index lancera 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 la valeur de la ligne est cliquée:
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 }
Essayez ce qui suit:
int myIndex = MyDataGrid.SelectedIndex;
Cela donnera l’index de la ligne actuellement sélectionnée.
J’espère que cela t’aides