VBのDataGridViewでクリックしたら(アクセスで作成済みの)その行の生徒番号のセルをMessageboxで表示するには?

解決


困ったサン  2007-11-19 10:35:47  No: 144118  IP: 192.*.*.*

VBのDataGridViewでクリックしたら(アクセスで作成済みの)その行の生徒番号のセルをMessageboxで表示するには?


生徒番号      生徒名        生徒カナ          科目
A00011    山田  花子  (ヤマダ  ハナコ)  医療ビジネス科    

という生徒一覧をDataGridViewを表示させた時、「ヤマダハナコ」をクリックされた時でもMessageboxに生徒番号を表示させるためにはどのようにしたらよいでしょうか??

編集 削除
魔界の仮面弁士  2007-11-19 19:52:03  No: 144119  IP: 192.*.*.*

たとえば、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())
という感じで。

編集 削除
困ったサン  2007-11-21 11:36:34  No: 144120  IP: 192.*.*.*

いろいろやってみました(^^)

まだ初心者でいっぱいわからないところがあるので、その時はよろしくお願いします☆

編集 削除