Risposte:
C'è la RowIndex
proprietà per la CurrentCell
proprietà per DataGridView.
datagridview.CurrentCell.RowIndex
Gestisci l' SelectionChanged
evento e trova l'indice della riga selezionata come sopra.
CurrentCell
restituisce la cella "attiva", che è diversa da "Selezionato". Anche se sono state selezionate più righe, la cella attiva potrebbe essere da qualche altra parte e può esserci una sola cella attiva
Utilizza la proprietà Index nella raccolta SelectedRows di DGV:
int index = yourDGV.SelectedRows[0].Index;
if
dataGridView1.SelectedRows[0].Index;
Oppure, se volessi usare LINQ e ottenere l'indice di tutte le righe selezionate, potresti fare:
dataGridView1.SelectedRows.Select(r => r.Index);
dataGridView1.SelectedRows[0].Index;
Qui trovi tutto su datagridview Tutorial C # datagridview
Lynda
prova questo
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
}
Ho modificato la risposta di @JayRiggs e funziona. È necessario if
perché a volte SelectedRows può essere vuoto, quindi l'operazione sull'indice genererà un'eccezione.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Prova DataGridView.CurrentCellAddress .
Restituisce: un punto che rappresenta gli indici di riga e colonna della cella attualmente attiva.
Ad esempio, seleziona la prima colonna e la quinta riga e tornerai indietro: Punto (X = 1, Y = 5)
DataGridView.CurrentCellAddress.Y
... :)
Provalo:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
Spero ti possa aiutare.
datagridview.CurrentCell.RowIndex
. Mi scuso. Raccomanderò di eliminare questo post come duplicato completo.
Ho usato se si fa clic su Ottieni valore riga:
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
}