DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridの選択行の取得方法について

環境/言語:[2K/C#/.NET1.1]
分類:[.NET]

はじめまして。
早速ですが、DataGridでわからない部分があるので質問させていただきます。

現在、Accessに接続し、DataGridに表示させているのですが、データの取得方法がわからなくてつまっています。
具体的にはDataGridで選択している行のデータを取得して、別窓に表示させる、というものです。

[Ex.テーブル]
行番号:カラム:カラム:カラム(非表示)
001 Title1 Data1 Profile1
002 Title2 Data2 Profile2
003 Title3 Data3 Profile3

[Ex.ユーザ側から見たGUI(DataGrid)]
001 Title1 Data1
002 Title2 Data2
003 Title3 Data3

そこで別窓に表示させます。
[Ex.<002>行を選択した場合の別窓]
002 Title2 Data2 Profile2

と、このようにしたく、ご教授をお願いしたいのですが。

一応関連ログやHPは一通り見たと思うのですが、解決方法がわかりませんでした。
> 一応関連ログやHPは一通り見たと思うのですが、解決方法がわかりませんでした。

じゃ、
http://dobon.net/vb/dotnet/datagrid/selectedrows.html
は一応、見もわかんなかった。ということなんだよねぇ〜
さささん、レスありがとうございます。

申し訳ないのですが、貼っていただいたURLは既に確認してました。
このコードはあくまでも「どこの行が選択されているか」を見るものですよね。
私が困っているのは「選択した行のデータをDBから引っ張ってくる」ということです。

いまいち説明不足かもしれませんが、よろしくおねがいします。
2005/01/18(Tue) 09:11:03 編集(投稿者)

>「どこの行が選択されているか」
がわかればその選択されている行のデータはわかるわけで、
その行のデータの値を条件にDBへ照会をかけてすべてのデータをひっぱってくることが可能だと思うのですが・・・?

ただし複数のデータを取得しないようにDBのテーブルに主キーを設定するなりの必要があるかもしれません。
#この場合は行番号ということになるのでしょうか?
たとえば、

001 Title1 Data1 Profile1
002 Title2 Data2 Profile2-1
002 Title2 Data2 Profile2-2
003 Title3 Data3 Profile3

こんな状況で選択した行の行番号=002のProfileが知りたくても、
行番号が同じProfile2-1とProfile2-2は区別できないということです。

他に非表示の列も全部DBから取ってきてDataGridに表示しないという方法もあります。
DataGridColumn.Visible プロパティで列の表示/非表示を切り替えることができますよ。
bellさんレスありがとうございます。

>DBへ照会をかけてすべてのデータをひっぱってくることが可能
そのやり方がよくわかってなかったんです…完璧に勉強不足でした。

なんとか解決の糸口を掴めたので、ようやく先に進めそうです。
みなさんありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板