Sesederhana itu. Bagaimana cara mendapatkan indeks yang saat ini dipilih Row
dari a DataGridView
? Saya tidak ingin Row
objeknya, saya ingin indeks (0 .. n).
Jawaban:
Ada RowIndex
properti untuk CurrentCell
properti untuk DataGridView.
datagridview.CurrentCell.RowIndex
Tangani SelectionChanged
acara tersebut dan temukan indeks dari baris yang dipilih seperti di atas.
CurrentCell
mengembalikan sel "aktif", yang berbeda dari "Dipilih". Bahkan jika ada beberapa baris yang dipilih, sel aktif mungkin berada di tempat lain, dan hanya ada satu sel aktif
Gunakan properti Indeks di koleksi SelectedRows DGV Anda:
int index = yourDGV.SelectedRows[0].Index;
if
dataGridView1.SelectedRows[0].Index;
Atau jika Anda ingin menggunakan LINQ dan mendapatkan indeks dari semua baris yang dipilih, Anda dapat melakukan:
dataGridView1.SelectedRows.Select(r => r.Index);
dataGridView1.SelectedRows[0].Index;
Di sini temukan semua tentang datagridview C # datagridview tutorial
Lynda
coba ini
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
}
Saya mengubah jawaban @JayRiggs, dan ini berhasil. Anda memerlukannya if
karena terkadang SelectedRows mungkin kosong, sehingga operasi indeks akan mengeluarkan pengecualian.
if (yourDGV.SelectedRows.Count>0){
int index = yourDGV.SelectedRows[0].Index;
}
Coba DataGridView.CurrentCellAddress .
Mengembalikan: Titik yang mewakili indeks baris dan kolom dari sel yang sedang aktif.
EG Pilih kolom pertama dan baris kelima, dan Anda akan kembali: Point (X = 1, Y = 5)
DataGridView.CurrentCellAddress.Y
... :)
Cobalah:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
Saya harap ini akan membantu Anda.
datagridview.CurrentCell.RowIndex
. Maafkan saya — Saya akan merekomendasikan agar posting ini dihapus sebagai duplikat penuh.
Saya menggunakan jika mendapatkan nilai baris diklik:
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
}