子元素创建期间的ComboBox.ValueMember问题

时间:2010-10-21 09:06:11

标签: c# combobox

我的组合框有问题,我试图用数据库中的一些值填充它,一切正常,除了这个代码的最后一行(其中包含ValueMember)在免费翻译中生成UnknownException它说它无法为“表”字段创建子元素列表。

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;

任何想法,可能是什么问题?

2 个答案:

答案 0 :(得分: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 ";

这应该有效。

答案 1 :(得分:0)

试试这个

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