ComboBox不会绑定到数据源

时间:2013-01-22 16:20:25

标签: c# visual-studio-2010 data-binding

我在设计时将ComboBox绑定到数据源。数据源有效,我可以预览ComboBoxTasks控件中的数据。显示和值成员设置为数据源中的列,但是,当应用程序运行时。我没有数据。以前有人有这个问题吗?我也尝试在运行时手动将项目添加到组合框属性中无济于事。

//bind combobox
this.cboProperty.DataSource = usersDataSet1.Tables["properties"];
this.cboProperty.DisplayMember = "propcode";
this.cboProperty.ValueMember = "value";

1 个答案:

答案 0 :(得分:1)

DisplayMemberValueMember是用词不当。 Datasource中的基础对象必须具有以字符串值命名的属性,而不仅仅是以字符串值命名的成员。

因此,如果您的基础对象看起来像这样,它就不会绑定

public class DataRow
{
    public string propcode;
    public string value;
}

但这将正确绑定。

public class DataRow
{
    public string propcode {get; set;};
    public string value {get; set;};
}

如果您使用数据集设计器生成数据集,它将为您创建对象。如果您自己在代码中创建数据集,则不会为您执行此操作。