2012-01-19 141 views
-1

大家好我有問題如下:組合框不顯示項目

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

我的價值觀越來越重視變量,但沒有進入框列表。 我能做什麼?

+0

凡在頁面licecyle你在幹什麼呢? –

+0

組合框是否有數據源?如果是這樣,你應該直接更新數據源而不是組合框。現在,發佈的代碼不會顯示任何問題。 – LarsTech

+0

所以組合框應該這樣工作?這是n層應用程序。我不允許使用數據源,我從數據層獲取數據集。這就是我使用這種編碼的原因。問題是,當我開始形式,我沒有得到任何組合框。我調試並看到它正在讀取數據並將其放入..但沒有顯示。 – Denonth

回答

0

您需要將具有value和displayMember屬性的對象添加到ComboBox。 您可以使用這些屬性創建一個Struct,然後將該結構的實例添加到組合框中。

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到ComboBox:

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

當然,價值和展示成員是相同的。我只是通常用作Id的值和作爲displaymemeber的名字。 – Symphonicmind

+0

這仍然沒有顯示任何東西:) – Denonth

+0

網頁或Windows窗體? – Symphonicmind

相關問題