VBのDataGridViewでクリックしたら(アクセスで作成済みの)その行の生徒番号のセルをMessageboxで表示するには?
生徒番号 生徒名 生徒カナ 科目
A00011 山田 花子 (ヤマダ ハナコ) 医療ビジネス科
という生徒一覧をDataGridViewを表示させた時、「ヤマダハナコ」をクリックされた時でもMessageboxに生徒番号を表示させるためにはどのようにしたらよいでしょうか??
たとえば、CellClick イベントで
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
MessageBox.Show(dgv(0, e.RowIndex).Value.ToString())
という感じですかね。
上記の 0 は、「DataGridView の 0 番目の列」の意味です。
もし、生徒番号を DataGridView に表示していないのであれば、
DataGridView が、DataSet (または DataTable) からバインドされているなら、
MessageBox.Show(sender.Rows(e.RowIndex).DataBoundItem.Row("生徒番号"))
という感じで、バインド元データから辿って取得できます。
上記の 生徒番号 は、「DataTable の 生徒番号列」の意味です。
もし、Option Strict On モードであれば、
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
Dim drv As DataRowView = DirectCast(dgv.Rows(e.RowIndex).DataBoundItem, DataRowView)
MessageBox.Show(drv("生徒番号").ToString())
という感じで。
いろいろやってみました(^^)
まだ初心者でいっぱいわからないところがあるので、その時はよろしくお願いします☆