it-swarm.com.de

Index der aktuell ausgewählten Zeile in DataGridView

So einfach ist das. Wie erhalte ich den Index des aktuell ausgewählten Row eines DataGridView? Ich möchte nicht das Objekt Row, sondern den Index (0 .. n).

85
ErikE

Es gibt die RowIndex -Eigenschaft für die CurrentCell -Eigenschaft für die DataGridView.

datagridview.CurrentCell.RowIndex

Behandle das SelectionChanged -Ereignis und finde den Index der ausgewählten Zeile wie oben.

154
fletcher

Verwenden Sie die Index-Eigenschaft in der SelectedRows-Auflistung Ihrer DGV:

int index = yourDGV.SelectedRows[0].Index;
36
Jay Riggs
dataGridView1.SelectedRows[0].Index;

Wenn Sie LINQ verwenden und den Index aller ausgewählten Zeilen erhalten möchten, können Sie Folgendes tun:

dataGridView1.SelectedRows.Select(r => r.Index);
7
Justin Niessner
dataGridView1.SelectedRows[0].Index;

Hier finden Sie alles über datagridview C # datagridview Tutorial

Lynda

6
Lyndaeldo

versuchen Sie dies, es wird funktionieren. Es wird Ihnen den Index der ausgewählten Zeile anzeigen.

int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());
3
sanjeev

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
}
2
HyperNova

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.

1
Raaz Salyani

Versuchen Sie DataGridView.CurrentCellAddress .

Rückgabe: Ein Punkt, der den Zeilen- und Spaltenindex der aktuell aktiven Zelle darstellt.

Z.B. Wählen Sie die erste Spalte und die fünfte Zeile aus, und Sie erhalten Folgendes zurück: Punkt (X = 1, Y = 5)

1
Kilanash

Ich habe die Antwort von @JayRiggs geändert, und das funktioniert. Sie benötigen if, da die SelectedRows manchmal leer sind und der Indexvorgang eine Ausnahme auslöst.

if (yourDGV.SelectedRows.Count>0){
    int index = yourDGV.SelectedRows[0].Index;
}
1
Allan Ruin

Sie können diesen Code ausprobieren:

int columnIndex = dataGridView.CurrentCell.ColumnIndex;
int rowIndex = dataGridView.CurrentCell.RowIndex;
0
subhankar

Ich habe verwendet, wenn auf get row value 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
}
0
Han Nguyen