Sesederhana itu. Bagaimana cara mendapatkan indeks yang saat ini dipilih Rowdari a DataGridView? Saya tidak ingin Rowobjeknya, saya ingin indeks (0 .. n).
Jawaban:
Ada RowIndexproperti untuk CurrentCellproperti untuk DataGridView.
datagridview.CurrentCell.RowIndex
Tangani SelectionChangedacara tersebut dan temukan indeks dari baris yang dipilih seperti di atas.
CurrentCellmengembalikan 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 ifkarena 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
}