1

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

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

1 回答 1

1

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

因此,如果您的底层对象看起来像这样,它将不会绑定

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

但这将正确绑定。

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

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

于 2013-01-22T18:29:32.203 回答