回答:
DataGridView のRowIndex
プロパティにはCurrentCell
プロパティがあります。
datagridview.CurrentCell.RowIndex
SelectionChanged
イベントを処理し、上記のように選択した行のインデックスを見つけます。
CurrentCell
ますが、他の誰かを助けるかもしれません:「選択された」とは異なる「アクティブな」セルを返します。複数の行が選択されている場合でも、アクティブセルは別の場所にある可能性があり、アクティブセルは1つしか存在できません
DGVのSelectedRowsコレクションでIndexプロパティを使用します。
int index = yourDGV.SelectedRows[0].Index;
if
dataGridView1.SelectedRows[0].Index;
または、LINQを使用して、選択したすべての行のインデックスを取得したい場合は、次のようにします。
dataGridView1.SelectedRows.Select(r => r.Index);
これを試して
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。
EG最初の列と5番目の行を選択すると、次の結果が得られます:Point(X = 1、Y = 5)
DataGridView.CurrentCellAddress.Y
それを試してみてください:
int rc=dgvDataRc.CurrentCell.RowIndex;** //for find the row index number
MessageBox.Show("Current Row Index is = " + rc.ToString());
お役に立てば幸いです。
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
}