c# – Combobox显示成员问题,让我发疯

很抱歉打扰,但我遇到了C#Winforms的问题,因为我一直在寻找同样的问题,我找到了一些解决方案,但它们并不适合我.好的,我有一个包含对象的Bindinglist

BindingList<objects.usuario> usuarios = new BindingList<objects.usuario>();

对象有一些公共字符串和int变量,一个字符串和一个int是我需要的变量.

public string dataNombreCompleto;
public int da*suario;

因此,一旦列表“usuarios”有一些对象,我就这样做

            cbAdministrativos.DisplayMember = "dataNombre";
            cbAdministrativos.ValueMember = "da*suario";
            cbAdministrativos.DataSource = usuarios;

事实是,它不起作用,组合框(cbAdministrativos)仍然显示对象.

当我通过调试器时,在断点之后,组合框设置显示成员,值成员和数据源,如代码所示,但是,在下一条指令(方法结束)中,我意识到显示成员,神奇地,转为“”而不是字符串“dataNombre”.

任何的想法?

提前谢谢,对不好的英语感到抱歉.

抱歉,感谢所有人!在我的绝望中,我尝试了对象中的不同字段,我没有意识到我为问题中的示例代码留下了“dataNombre”而不是“dataNombreCompleto”,无论如何这是正确的,这是我原始代码中的原始DisplayMember ,但是,问题仍然存在:(

解决方法:

它应该是:

cbAdministrativos.DisplayMember = "dataNombreCompleto";

另外,请考虑使用公共属性而不是公共字段.

Public Fields are evil

改变这个:

public string dataNombreCompleto;
public int da*suario;

对此:

public string dataNombreCompleto { get; set; }
public int da*suario { get; set; }
上一篇:Ext ComboBox 动态查询


下一篇:JavaFX中的表格视图单元格中的ComboBox