很抱歉打扰,但我遇到了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 string dataNombreCompleto;
public int da*suario;
对此:
public string dataNombreCompleto { get; set; }
public int da*suario { get; set; }