Antworten:
Es gibt die RowIndex
Eigenschaft für die CurrentCell
Eigenschaft für DataGridView.
datagridview.CurrentCell.RowIndex
Behandeln Sie das SelectionChanged
Ereignis und suchen Sie den Index der ausgewählten Zeile wie oben.
CurrentCell
Gibt die "aktive" Zelle zurück, die sich von "Ausgewählt" unterscheidet. Selbst wenn mehrere Zeilen ausgewählt sind, befindet sich die aktive Zelle möglicherweise an einer anderen Stelle, und es kann nur eine aktive Zelle geben
Verwenden Sie die Index-Eigenschaft in der SelectedRows-Sammlung Ihres DGV:
int index = yourDGV.SelectedRows[0].Index;
if
dataGridView1.SelectedRows[0].Index;
Wenn Sie LINQ verwenden und den Index aller ausgewählten Zeilen abrufen möchten, haben Sie folgende Möglichkeiten:
dataGridView1.SelectedRows.Select(r => r.Index);
dataGridView1.SelectedRows[0].Index;
Hier finden Sie alles über das Tutorial zu datagridview C # datagridview
Lynda
Versuche dies
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
}
Ich habe die Antwort von @JayRiggs geändert, und das funktioniert. Sie benötigen das, if
da die SelectedRows manchmal leer sind, sodass die Indexoperation eine Ausnahme auslöst.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Versuchen Sie es mit DataGridView.CurrentCellAddress .
Rückgabe: Ein Punkt, der die Zeilen- und Spaltenindizes der aktuell aktiven Zelle darstellt.
EG Wählen Sie die erste Spalte und die fünfte Zeile aus und Sie erhalten zurück: Punkt (X = 1, Y = 5)
DataGridView.CurrentCellAddress.Y
Versuch es:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
Ich hoffe es hilft dir.
datagridview.CurrentCell.RowIndex
. Ich entschuldige mich - ich werde empfehlen, diesen Beitrag als vollständiges Duplikat zu löschen.
Ich habe verwendet, wenn auf Zeilenwert abrufen geklickt wird:
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
}