2010-10-21 66 views
0

我的組合框有一些問題,我試圖用數據庫中的一些值填充它,一切工作正常,除了這段代碼的最後一行(其中ValueMember)在自由翻譯中生成UnknownException它說它不能爲「表」字段創建一個子元素列表。在子元素創建期間ComboBox.ValueMember問題

connection = new MySqlConnection(connectionString); 
connection.Open(); 

MySqlDataAdapter mda = new MySqlDataAdapter(query, connection); 

DataSet my_dataset = new DataSet("dataset"); 
mda.Fill(my_dataset); 
connection.Close(); 

DataViewManager dvm_cb2 = my_dataset.DefaultViewManager; 
my_combobox.DataSource = dvm_cb2; 
my_combobox.DisplayMember = table + "." + name; 
my_combobox.ValueMember = table + "." + my_id; 

任何想法,可能是什麼問題?

回答

1

DisplayMember和ValueMember應的對象屬性的字符串repreentations

因此,舉例來說,如果你有下列對象的集合

public class MyObject 
{ 
    public string ItemId = ""; 
    public string DisplayValue = ""; 
} 

所以你要使對象的集合

List<MyObject> list = new List<MyObject>(); 

然後將此屬性和屬性分配給組合框

combobox.DataSource = list ; 
combobox.DisplayMember = "DisplayValue"; 
combobox.ValueMember = "ItemId "; 

這應該有效。

+0

謝謝你,它完美:-) – kuba 2010-10-21 10:57:38

0

嘗試這個

my_combobox.DisplayMember = "fieldname"; 
my_combobox.ValueMember = "fieldname"; 
my_combobox.DataSource = dvm_cb2;