C# ComboBox 绑定 ArrayList (自定义类对象集)
//自定义类:publicclassdata{intid;Stringname;}//ArrayListArrayListdatas=newArrayList();dat...
//自定义类:
public class data
{
int id;
String name;
}
// ArrayList
ArrayList datas = new ArrayList ();
data d = new data();
d.id = 0;
d.name = "test";
datas.Add(d);
// ComboBox
cb.DataSource = datas;
cb.DisplayMember = "name"; // xxx: 异常
现在的问题是:cb (ComboBox对象) 的displayname怎么设置,才能让它显示的是name属性的列表,我设成"name"运行会发生异常。 展开
public class data
{
int id;
String name;
}
// ArrayList
ArrayList datas = new ArrayList ();
data d = new data();
d.id = 0;
d.name = "test";
datas.Add(d);
// ComboBox
cb.DataSource = datas;
cb.DisplayMember = "name"; // xxx: 异常
现在的问题是:cb (ComboBox对象) 的displayname怎么设置,才能让它显示的是name属性的列表,我设成"name"运行会发生异常。 展开
2个回答
展开全部
你没有实现对私有变量的属性实现,当然无法实现了
public class data
{
int id;
String name;
public int Id{
set{id= value;}
get{ return id;}
}
public int Name{
set{name= value;}
get{ return name;}
}
}
....................
cb.DataSource = datas;
cb.DisplayMember ="Name";
cb.ValueMember="Id";
就可以实现绑定了, 另外为了提高性能和类型安全,最好用范型List<data>
public class data
{
int id;
String name;
public int Id{
set{id= value;}
get{ return id;}
}
public int Name{
set{name= value;}
get{ return name;}
}
}
....................
cb.DataSource = datas;
cb.DisplayMember ="Name";
cb.ValueMember="Id";
就可以实现绑定了, 另外为了提高性能和类型安全,最好用范型List<data>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询