2013-01-22 108 views
1

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

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

你有代码什么的? –

+0

我们要看的任何代码? – Inkey

+0

当我在设计器中做这件事时,它是一个到数据库的硬链接,不是吗?为什么我可以在预览中看到数据,但在运行时在控件中没有显示? – spuy767

回答

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;}; 
} 

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