私のコードは以下の通りです。
int currentRow = dgvIcbSubsInfo.CurrentCell.RowIndex;
//code to execute
dgvIcbSubsInfo.Rows[currentRow].Selected = true;
コードを実行すると、プレビューは次のようになります。>
しかし、1272737 ではなく、id = 1272741 (青色の選択) でシンボルを取得する必要があります
私のコードは以下の通りです。
int currentRow = dgvIcbSubsInfo.CurrentCell.RowIndex;
//code to execute
dgvIcbSubsInfo.Rows[currentRow].Selected = true;
コードを実行すると、プレビューは次のようになります。>
しかし、1272737 ではなく、id = 1272741 (青色の選択) でシンボルを取得する必要があります
おそらく、読み取り専用プロパティであるDataGridView.CurrentRow Propertyを見たことがあるかもしれません。
現在のセルを含む行を取得します。
しかし、備考欄には次のように書かれています。
現在の行を変更する
CurrentCell
には、目的の行のセルにプロパティを設定する必要があります。
また、DataGridView.CurrentCell Propertyから、次のことがわかります。
このプロパティの値を変更すると、CurrentCellChanged イベントの前に SelectionChanged イベントが発生します。この時点で CurrentCell プロパティにアクセスするすべての SelectionChanged イベント ハンドラーは、以前の値を取得します。
currentRow
したがって、値を設定すると選択されるため、実際に を選択する必要はありません(とイベントCurrentCell
の間の現在のスコープ内で実行するコードがある場合を除きます)。これを試して:SelectionChanged
CurrentCellChanged
//dgvIcbSubsInfo.Rows[currentRow].Selected = true;
dgvIcbSubsInfo.CurrentCell = dgvIcbSubsInfo.Rows[currentRow].Cells[0];
行を強調表示したいと思います。次のコードを試してみてください。
Color color = dgv.Rows[prevRowIndex].DefaultCellStyle.SelectionBackColor;
dgv.Rows[curRowIndex].DefaultCellStyle.SelectionBackColor = color;