DataGridView中当前选定行的索引

就这么简单。 如何获得DataGridView的当前选定Row的索引? 我不想Row对象,我想索引(0 .. n)。

DataGridView的CurrentCell属性有RowIndex属性。

 datagridview.CurrentCell.RowIndex 

处理SelectionChanged事件并像上面那样find所选行的索引。

在DGV的SelectedRows集合中使用Index属性:

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

或者,如果你想使用LINQ并获得所有选定行的索引,你可以这样做:

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

这里可以find所有关于datagridview的C#的datagridview教程

林达

尝试这将工作…它会给你所选的索引索引…

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

尝试这个

 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 } 

试试DataGridView.CurrentCellAddress 。

返回:表示当前活动单元格的行和列索引的Point。

EGselect第一列和第五列,您将返回:点(X = 1,Y = 5)

尝试一下:

 int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number MessageBox.Show("Current Row Index is = " + rc.ToString()); 

我希望这会帮助你。

我修改@JayRiggs的答案,这个工程。 你需要if因为有时候SelectedRows可能是空的,所以索引操作会抛出exception。

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

你可以试试这个代码:

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

我使用,如果获取行值被点击:

 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 } 

尝试以下操作:

 int myIndex = MyDataGrid.SelectedIndex; 

这将给出当前选中的行的索引。

希望这可以帮助