コンボボックスのデータソース

タグの編集
投稿者 とらさん  (社会人) 投稿日時 2008/12/28 22:09:29
VB.NET 2005です。
データセットで、SELECT Name FROM *+*+* というSQLでデータを取ってきます。
それをCOMBOBOXのデータソースとする為に
COMBOBOX1.Datasource = DataSet.Datatable(0)
としても、SYSTEM.ROWVIEWとなってデータが表示されません。
カラムは1つですので DataSource = DataSet.Datatable(0).Column(0)としてもエラーとなります。
どう指定してやればいいのでしょうか?

DataSet.Datatable(0).Rows(i)(0)で値は表示されるのですが…。(iは 1,2,3,4,5・・・・)
投稿者   (社会人) 投稿日時 2008/12/29 00:07:54
ComboBoxのDataMemberプロパティやValueMemberプロパティを指定してみるとどうですか?
DataTableの"AAA"という名前の列を表示したい場合はDataMemberにAAAをセットして使います。

詳しくはMSDNで調べてみてください。
投稿者 とらさん  (社会人) 投稿日時 2009/1/5 13:21:27
なるほど。
データソースとバリューメンバーの両プロパティに値を設定すればいいのですか。
レス、ありがとうございます。

最初、メンバープロパティだけ設定してエラーになったのですが、あれこれ試行錯誤するうちに出来ました。

VB.NETになってこういったことがヘルプでは分からず、ヘルプを書いたMSの人間はバカだと改めて思うわ。
もうちょっと分かりやすく書けっていいたいですね。
投稿者 るしぇ  (社会人) 投稿日時 2009/1/5 19:48:28
>VB.NETになってこういったことがヘルプでは分からず、
[ComboBox のデータ バインディングのサンプル]
http://msdn.microsoft.com/ja-jp/library/x8ybe6s2(VS.80).aspx
実は載ってるんだけど、ComboBox.DataSource プロパティのページには何も
書いてないしリンクも貼られていないという。。。サンプルコードまで
しっかり載ってるページもあれば、実に簡素なページも多いですね。
。。。手が回ってない感じ。

キーワード検索で引っ掛かった項目に目を通していくような調べ方で
ないと辿り着けないかも。WEB 検索すれば、大体分かりますけどね。