web-dev-qa-db-ja.com

DataGridViewで現在選択されている行のインデックス

とても簡単です。 Rowの現在選択されているDataGridViewのインデックスを取得するにはどうすればよいですか? Rowオブジェクトは必要ありません。インデックス(0 .. n)が必要です。

83
ErikE

DataGridViewの RowIndex プロパティには CurrentCell プロパティがあります。

datagridview.CurrentCell.RowIndex

SelectionChanged イベントを処理し、上記のように選択した行のインデックスを見つけます。

149
fletcher

DGVのSelectedRowsコレクションでIndexプロパティを使用します。

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

または、LINQを使用して、選択したすべての行のインデックスを取得する場合は、次のようにします。

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

ここでは、datagridviewについてのすべてを見つける C#datagridview tutorial

リンダ

6
Lyndaeldo

それを試してみてください...それはあなたに選択された行インデックスのインデックスを与えます...

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

これを試して

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
}
2
HyperNova

それを試してみてください:

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

それがあなたのお役に立てば幸いです。

1
Raaz Salyani

DataGridView.CurrentCellAddress を試してください。

戻り値:現在アクティブなセルの行と列のインデックスを表すPoint。

例えば。最初の列と5行目を選択すると、戻ります:Point(X = 1、Y = 5)

1
Kilanash

@JayRiggsの回答を修正しましたが、これは機能します。時々SelectedRowsが空になることがあるため、ifが必要です。そのため、インデックス操作は例外をスローします。

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

このコードを試すことができます:

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

行値の取得がクリックされた場合に使用しました:

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
}
0
Han Nguyen