2012-01-19 23 views
-1

こんにちはすべて私は、次のように問題があります。コンボボックス表示されない項目

foreach (DataRow dr in data.Tables[0].Rows) 
{ 
    string value = dr["name"].ToString(); 
    combobox.Items.Add(value);     
} 

私の値は、変数の評価になったがコンボボックスのリストに取得されていません。 私は何でもできますか?

+0

を? –

+0

コンボボックスにデータソースがありますか?その場合は、データソースを更新し、コンボボックスは直接更新しないでください。つまり、投稿されたコードに問題はありません。 – LarsTech

+0

コンボボックスはこのように動作するはずですか?これはn層アプリケーションです。私はデータソースを使用することを許可されていません、私はデータレイヤからデータセットを取得しています。だから私はこのタイプのコーディングを使用しています。問題は、私がフォームを始めると、私はコンボボックスに何も得られないということです。そして私はデバッグし、それがデータを読み込んでいることを知っている。しかし、それからの表示はない。 – Denonth

答えて

0

ComboBoxにvalueプロパティとdisplayMemberプロパティを持つオブジェクトを追加する必要があります。 これらのプロパティを持つ構造体を作成し、その構造体のインスタンスをコンボボックスに追加することができます。

struct NewItem 
{ 
    private string _displayMember; 
    private string _value; 
    public NewItem(string displayMember, string value) 
    { 
     _displayMember = displayMember; 
     _value = value; 
    } 
    public string DisplayMember 
    { 
     get 
     { 
      return _displayMember; 
     } 
    } 
    public string Value 
    { 
     get 
     { 
      return _value; 
     } 
    } 
} 

そして、コンボボックスにNewItemを追加:ページlicecyleにあなたがそれをやっている

foreach (DataRow dr in data.Tables[0].Rows)   
{    
    string value = dr["value"].ToString(); 
    string displayMember= dr["name"].ToString();    
    combobox.Items.Add(new NewItem(displayMember,value));       
} 
+0

もちろん、valueとdisplaymemberが同じであることに制限はありません。私は通常、IDの値として、そしてディスプレイメーバーとして名前を使用します。 – Symphonicmind

+0

これはまだ何も表示されていません:) – Denonth

+0

WebまたはWindowsフォーム? – Symphonicmind

関連する問題