Index of Currently Selected Row in DataGridView

It's that simple. How do I get the index of the currently selected Row of a DataGridView? I don't want the Row object, I want the index (0 .. n).

512890 次浏览
dataGridView1.SelectedRows[0].Index;

Or if you wanted to use LINQ and get the index of all selected rows, you could do:

dataGridView1.SelectedRows.Select(r => r.Index);

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

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

DataGridView 的 CurrentCell属性具有 RowIndex属性。

datagridview.CurrentCell.RowIndex

处理 SelectionChanged事件并如上所述查找所选行的索引。

Try DataGridView.CurrentCellAddress.

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

E.G. Select the first column and the fifth row, and you'll get back: Point( X=1, Y=5 )

尝试这个它将工作... 它将给你选择的行索引的索引..。

int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());
dataGridView1.SelectedRows[0].Index;

这里找到所有关于 datagridview C # datagridview 教程的内容

琳达

试试这个

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
}

试试以下方法:

int myIndex = MyDataGrid.SelectedIndex;

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

希望这个能帮上忙

我修改了@JayRiggs 的答案,这个有效。您需要 if,因为有时候 SelectedRows 可能是空的,所以索引操作将引发异常。

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

你可以试试这个代码:

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

试试看:

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

我希望这能帮到你。

如果单击 get 行值,则使用:

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
}