Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#组合框不显示数据源_C#_Winforms_Combobox - Fatal编程技术网

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