トップ回答者
DataBindingしたコンボボックスについて

質問
-
初歩的なことなのですが、コンボボックスにデータバインド項目を使用して表示しています。(データソースにはDBからデータを取得したものを使っています)
動作自体はきちんと動いているのですが、
一番上の部分に「選択して下さい」といった文言を入れる場合はどのようにすればよいでしょうか?
データテーブルの内容は
テーブル1というテーブルから
idとnameを取得しています。
以下、コンボボックスの設定です。
メンバの表示 name
値のメンバ id
選択された値 (なし)
選択された値を変更して書けないかと思って、試してみたのですが挫折しました。
すみませんが、問題の解決法、ヒントがあればどなたか教えていただけませんか?
回答
-
いくつか方法があると思います。データベースから読んできたデータテーブルに「選択して下さい」という行を追加する方法、SQLで「選択して下さい」という行を作成してしまう方法などです。後者が簡単だと思います。例えば以下のようにします。
select name, id from テーブル
union all
select '「選択して下さい」', 0
order by id「選択して下さい」の行はidを0にしていますが、適当に変更して下さい。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/- 回答としてマーク tanaka0011 2012年1月25日 13:24
-
愚直にDBのデータ取得とバインドの間に一枚層を設けて、 そこで未選択をデータを追加するのが潰しがきくとおもいます。 (データが選択されたら、未選択を示すデータは消すとか)
かずき Blog:http://d.hatena.ne.jp/okazuki/ VS 2010のデザイナでBlendのBehaviorをサポートするツール公開してます。 http://vsbehaviorsupport.codeplex.com/- 回答としてマーク tanaka0011 2012年1月25日 13:33
すべての返信
-
いくつか方法があると思います。データベースから読んできたデータテーブルに「選択して下さい」という行を追加する方法、SQLで「選択して下さい」という行を作成してしまう方法などです。後者が簡単だと思います。例えば以下のようにします。
select name, id from テーブル
union all
select '「選択して下さい」', 0
order by id「選択して下さい」の行はidを0にしていますが、適当に変更して下さい。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/- 回答としてマーク tanaka0011 2012年1月25日 13:24
-
愚直にDBのデータ取得とバインドの間に一枚層を設けて、 そこで未選択をデータを追加するのが潰しがきくとおもいます。 (データが選択されたら、未選択を示すデータは消すとか)
かずき Blog:http://d.hatena.ne.jp/okazuki/ VS 2010のデザイナでBlendのBehaviorをサポートするツール公開してます。 http://vsbehaviorsupport.codeplex.com/- 回答としてマーク tanaka0011 2012年1月25日 13:33
-
みなさん汎用的な話を書かれているのですが、使われている Visual Studio や、プロジェクトの設定の .NET Framework のバージョン、
コンボボックスと書かれていますが、
System.Windows.Controls.ComboBox なのか
System.Web.UI.WebControl.DropdownList なのか
System.Windows.Forms.ComboBox なのか
(ないと思いますが、Microsoft.Office.Tools.Controls.ComboBox とか)たとえば、System.Windows.Forms.ComboBox ならば ComboBoxStyle は何を使用しているのか。
といったことを書かれると、よりよい回答が得られるかもしれません。
-
みなさん汎用的な話を書かれているのですが、使われている Visual Studio や、プロジェクトの設定の .NET Framework のバージョン、
コンボボックスと書かれていますが、
System.Windows.Controls.ComboBox なのか
System.Web.UI.WebControl.DropdownList なのか
System.Windows.Forms.ComboBox なのか
(ないと思いますが、Microsoft.Office.Tools.Controls.ComboBox とか)たとえば、System.Windows.Forms.ComboBox ならば ComboBoxStyle は何を使用しているのか。
といったことを書かれると、よりよい回答が得られるかもしれません。
使っているVisualStudioはVisualStudio2005proffessionalです。C#でWindowsアプリケーションを作っています。
コンボボックスは、System.Windows.Forms.ComboBoxです。
書いている情報が少なかったですね。すみません。