C#组合框不显示数据源
我的应用程序的C#组合框不显示数据源,c#,winforms,combobox,C#,Winforms,Combobox,我的应用程序的组合框,不是显示指定的成员,“ProcName”,而是显示来自该成员基类的ToString()方法结果。数据源定义为 List<ProcTemplateRecord> procList = dbif.GetProcTemplateRecords(); 在我的应用程序代码中,以下是如何将组合框连接到我的列表: this.comboBox1.DataSource = procList; this.comboBox1.DisplayMember = "ProcName";
组合框
,不是显示指定的成员,“ProcName”
,而是显示来自该成员基类的ToString()
方法结果。数据源
定义为
List<ProcTemplateRecord> procList = dbif.GetProcTemplateRecords();
在我的应用程序代码中,以下是如何将组合框连接到我的列表:
this.comboBox1.DataSource = procList;
this.comboBox1.DisplayMember = "ProcName";
this.comboBox1.ValueMember = "PrimaryKey";
你知道我做错了什么吗?这很微妙,但在打字时:
this.comboBox1.DisplayMember = "ProcName";
…请注意intellisense帮助:获取或设置…
的属性名称。绑定作用于属性,而不是所有成员都是的字段。将它们更改为属性,则绑定应该可以工作:
class BaseRecord
{
public Int32 PrimaryKey { get; set; }
public String SysTime { get; set; }
}
class ProcTemplateRecord : BaseRecord
{
public String ProcName { get; set; }
public String Comments { get; set; }
}
您需要将这些字段转换为properties@Plutonix这是怎么做到的?这对我来说是新的。@Jim
public int PrimaryKey{get;set;}
public string ProcName{get;set;}
@puropoix成功了,谢谢!请随时发布您的答案,我将接受。:)
class BaseRecord
{
public Int32 PrimaryKey { get; set; }
public String SysTime { get; set; }
}
class ProcTemplateRecord : BaseRecord
{
public String ProcName { get; set; }
public String Comments { get; set; }
}