C# ComboBox将不会绑定到数据源

C# ComboBox将不会绑定到数据源,c#,visual-studio-2010,data-binding,C#,Visual Studio 2010,Data Binding,我在设计时将组合框绑定到数据源。数据源有效,我可以在ComboxTasks控件中预览数据。当应用程序运行时,数据源中的显示和值成员设置为列。我没有数据。以前有人有过这个问题吗?我还尝试在运行时手动将项目添加到combobox属性中,但没有成功 //bind combobox this.cboProperty.DataSource = usersDataSet1.Tables["properties"]; this.cboProperty.DisplayMember = "propcode"; t

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

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

DisplayMember
ValueMember
是误称。
数据源
中的基础对象必须具有使用字符串值命名的属性,而不仅仅是使用字符串值命名的成员

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

public class DataRow
{
    public string propcode;
    public string value;
}
但这将正确绑定

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

如果使用数据集设计器生成数据集,它将为您创建对象。如果您自己用代码创建数据集,它不会为您这样做。

DisplayMember
ValueMember
都是用词不当的。
数据源
中的基础对象必须具有使用字符串值命名的属性,而不仅仅是使用字符串值命名的成员

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

public class DataRow
{
    public string propcode;
    public string value;
}
但这将正确绑定

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

如果使用数据集设计器生成数据集,它将为您创建对象。如果您自己用代码创建数据集,它不会为您这样做。

您有代码或其他东西吗?有代码供我们查看吗?当我在designer中创建数据集时,它是到数据库的硬链接,没有?为什么我可以在预览中看到数据,但在运行时控件中没有显示任何内容?您的
this.cboProperty.DataBind()在哪里?@mattmanser,这是WinFormApplication,而不是ASP.Net,从代码中可以清楚地看出。。。一切似乎都是对的我不知道为什么spuy767没有数据。。。首先,我估计表中没有行,但他说数据显示在ComboxBox Tasks中。你有代码吗?有代码让我们看吗?当我在designer中这样做时,它是到数据库的硬链接,不是吗?为什么我可以在预览中看到数据,但在运行时控件中没有显示任何内容?您的
this.cboProperty.DataBind()在哪里?@mattmanser,这是WinFormApplication,而不是ASP.Net,从代码中可以清楚地看出。。。一切似乎都是对的我不知道为什么spuy767没有数据。。。首先我估计表中没有行,但他说数据显示在ComboxBox任务中