我在设计时将ComboBox
绑定到数据源。数据源有效,我可以预览ComboBoxTasks
控件中的数据。显示和值成员设置为数据源中的列,但是,当应用程序运行时。我没有数据。以前有人有这个问题吗?我也尝试在运行时手动将项目添加到组合框属性中无济于事。
//bind combobox
this.cboProperty.DataSource = usersDataSet1.Tables["properties"];
this.cboProperty.DisplayMember = "propcode";
this.cboProperty.ValueMember = "value";
答案 0 :(得分: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;};
}
如果您使用数据集设计器生成数据集,它将为您创建对象。如果您自己在代码中创建数据集,则不会为您执行此操作。