この記事では、クリックしたdatagridviewのセルの値を取得する方法についてご説明します。
【動画】C#のdatagridviewにSQLiteのテーブルデータとボタンを表示させる実際の動き
本題に入る前に、まずは次の動画をご覧ください。
datagridviewのセルをクリックしたときにCellClickイベントが実行されて、クリックされたセルの行位置と列位置を取得します。
クリックされたセルの行位置と列位置を元に、クリックされたセルの値をテキストボックスに出力しています。
コードの流れ
今回はセルがクリックされたときのイベントにCellClick(セルをクリックしたときに呼ばれるイベント)を選びましたが、似たようなイベントにCellContentClickイベント(セルに表示された値をクリックしたときに呼ばれるイベント)もあります。
フォームのコード
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { // クリックされたdatagridviewのセルの値を取得して変数valに格納する var val = dataGridView1[e.ColumnIndex, e.RowIndex].Value; // 変数valの値をテキストボックスに設定する txb_val.Text = val.ToString(); }
注目すべきコード①
最初に見て頂きたいのは1行目です。
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
コードの説明
以上のコードは、datagridviewのCellClickイベントを実行させるコードです。
datagridviewのセルをクリックすると、このCellClickイベントが呼ばれて実行されます。
なお、このコードを実行するにはdatagridviewのイベント設定に「dataGridView1_CellClick」を登録しておく必要があります。
以上のイベント登録をしておかないと「CellClick」イベントが実行されないので忘れないように設定しておきましょう。
注目すべきコード②
次に見て頂きたいのは4行目です。
// クリックされたdatagridviewのセルの値を取得して変数valに格納する var val = dataGridView1[e.ColumnIndex, e.RowIndex].Value;
コードの説明
以上のコードは、クリックされたdatagridviewのセルの値を取得して変数valに格納する処理のコードです。
e.ColumnIndexがクリックされたセルの列位置、e.RowIndexがクリックされたセルの行位置を返します。
この列位置と行位置を元に、クリックされたdatagridviewセルの値をValueプロパティから取得することができます。
注目すべきコード③
次に見て頂きたいのは7行目です。
// 変数valの値をテキストボックスに設定する txb_val.Text = val.ToString();
コードの説明
以上のコードは、変数valの値をテキストボックスに設定する処理のコードです。
クリックされたdatagridviewセルの値をテキストボックス(txb_val)に出力しています。
動作確認
datagridviewのセルクリック実行前
今回は以下のようにdatagridviewにデータを出力させています。
datagridviewのセルクリック実行後
datagridviewのセルクリックをクリックするとテキストボックスに、クリックしたセルの値が出力されました。
最後に
この記事では、クリックしたdatagridviewのセルの値を取得する方法についてご説明しました。
クリックしたdatagridviewのセルの値を取得したい時は本記事を参考にしてみてくださいね。
プログラミングのスキルを習得するなら
プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。
プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。