To takie proste. Jak uzyskać indeks aktualnie wybranego Row
pliku DataGridView
? Nie chcę Row
obiektu, chcę indeks (0 .. n).
c#
.net
winforms
datagridview
ErikE
źródło
źródło
CurrentCell
zwraca „aktywną” komórkę, która różni się od „Wybrano”. Nawet jeśli zaznaczonych jest wiele wierszy, aktywna komórka może znajdować się gdzie indziej, a może być tylko jedna aktywna komórkaUżyj właściwości Index w kolekcji SelectedRows DGV:
int index = yourDGV.SelectedRows[0].Index;
źródło
if
dataGridView1.SelectedRows[0].Index;
Lub jeśli chcesz użyć LINQ i uzyskać indeks wszystkich wybranych wierszy, możesz zrobić:
źródło
dataGridView1.SelectedRows[0].Index;
Tutaj znajdziesz wszystko o samouczku datagridview w języku C # dotyczącym datagridview
Lynda
źródło
spróbuj to zadziała ... da ci indeks wybranego indeksu wiersza ...
int rowindex = dataGridView1.CurrentRow.Index; MessageBox.Show(rowindex.ToString());
źródło
Spróbuj tego
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 }
źródło
Zmodyfikowałem odpowiedź @JayRiggs i to działa. Potrzebujesz,
if
ponieważ czasami SelectedRows mogą być puste, więc operacja indeksu zgłosi wyjątek.if (yourDGV.SelectedRows.Count>0){ int index = yourDGV.SelectedRows[0].Index; }
źródło
Wypróbuj DataGridView.CurrentCellAddress .
EG Wybierz pierwszą kolumnę i piąty rząd, a otrzymasz: Punkt (X = 1, Y = 5)
źródło
DataGridView.CurrentCellAddress.Y
Spróbuj:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number MessageBox.Show("Current Row Index is = " + rc.ToString());
Mam nadzieję, że ci to pomoże.
źródło
datagridview.CurrentCell.RowIndex
. Przepraszam - zamierzam zalecić usunięcie tego posta jako pełnego duplikatu.Możesz wypróbować ten kod:
int columnIndex = dataGridView.CurrentCell.ColumnIndex; int rowIndex = dataGridView.CurrentCell.RowIndex;
źródło
Użyłem, jeśli kliknięto pobierz wartość wiersza:
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 }
źródło
Spróbuj wykonać następujące czynności:
int myIndex = MyDataGrid.SelectedIndex;
To daje indeks wiersza, który jest aktualnie wybrany.
Mam nadzieję że to pomoże
źródło