• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DataGridViewでの選択行の取得)

DataGridViewでの選択行の取得方法

このQ&Aのポイント
  • VB2008ExpressEditionを使用しています。DataGridViewで行選択モードにしている場合、現在選択されている行を取得するためのプロパティはどれでしょうか?SelectedIndexプロパティが見つかりません。
  • dgvList.SelectedRows(i).Selectedを使用する回りくどい方法では、1行目は参照できますが、2行目でエラーが発生します。
  • 解決方法を知っている方はいらっしゃいますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

> DataGridViewRowが定義されて無いと出ます おかしいですね ^^ DataGridViewRow自体はSystem.Windows.Forms名前空間で定義されていますので WinddowsFormアプリなら定義されているはずです スペルを間違えていませんか? 当方は2005で確認しています 2008の場合ランタイムが標準で3.5になると思います このあたりで仕様変更がなされているのかもしれません dbdgvList.SelectedRows.Item と入力した際に表示されるインテリセンスに対してポップアップするヒントの中に型情報が表示されると思います ヒントの中の AS以降が取得できる型になるので確認してみましょう 単一行の場合 dgvList.SelectedRowsの引数が0を指示すればいいだけですよ 引数を1や2にすることが出来ません

tutomic
質問者

お礼

ご丁寧にありがとう御座いました。 今夜試してみます。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

複数行の選択を許可している場合は SelectedRows(1)などで2つ目の選択行にアクセス可能ですが複数行の選択を許可していない状態で SelectedRows(1)ではエラーになるでしょう 複数行の選択許可はMultiSelectプロパティになります 選択された行は SelectedRows(0)などで取り出したDataGridViewRowオブジェクトのIndexプロパティで取得できますよ if dgvList.SelectedRows.Count > 0 then   dim row as DataGridViewRow   row = dgvList.SelectedRows(0)   MessageBox.Show( row.Index.ToString ) end if といった具合です # 上記のコードは 単一セルの選択時には機能しません

tutomic
質問者

補足

回答有難うございます。 複数ではなく、単一行の場合はどのようになるのでしょうか? あと、dim row as DataGridViewRowを記載する際 DataGridViewRowが定義されて無いと出ます。 何かありますでしょうか?

関連するQ&A

専門家に質問してみよう