2014-10-09 37 views
2

我试图将列表绑定到Combobox作为数据源。我的列表由自定义类对象组成。 绑定工作正常,但我无法设置DisplayMember。将自定义对象列表绑定到Combox(DisplayMember不起作用)

我的班级定义;我有一个自定义类“Sett_Collection”,它保留了另一个自定义类的列表“Sett” 。

public class Sett 
{ 
    public string nameOfSett; 
    public Sett(){ 
     ... 
    } 
} 

public class Sett_Colection 
{ 
    public List<Sett> listOfSetts; 
    public Sett_Colection(){ 
     ... 
    } 
} 

我的表单中的代码是这样的;

public partial class Form1: Form 
{ 
    Sett_Colection collectionOfSetts; 

    public Form1() 
    { 
     // Here I add Sett instances into collectionOfSetts 
     // So collectionOfSetts.listOfSetts is not empty 

     combobox1.DataSource = collectionOfSetts.listOfSetts; 
     cmb_ayar.DisplayMember = "nameOfSett"; 
    } 
} 

当我这样做时,数据源成功分配。但是显示成员没有被设置为“nameOfSett”。 项目名称显示为“Namespace.Sett”;

我在网上找到了很多示例代码,但都没有工作。我觉得我的情况有点不同

+0

什么行为,你真正看到?我们不知道这里没有什么工作。你确认listOfSetts不是空的吗? – cdkMoose 2014-10-09 16:54:43

+0

谢谢@cdkMoose。 listOfSetts不是空的。 LarsTech的建议做到了。 – Decoded 2014-10-09 17:07:26

回答

3

你需要的是一个属性:

public string nameOfSett {get; set;} 
+0

完美工作。非常感谢。 – Decoded 2014-10-09 16:55:19