最近做项目使用combobox中遇到一些问题,以下是需要注意的地方
1、数据绑定:
有两种方式:
一种是通过datatable进行绑定,
DataTable CompDt = new DataTable();
CompDt.Columns.Add("ID", System.Type.GetType("System.String"));
CompDt.Columns.Add("Name", System.Type.GetType("System.String"));
foreach (Object _item in list)
{
System.Data.DataRow comdt = CompDt.NewRow();
if (!string.IsNullOrEmpty(_item.ID))
{
comdt["ID"] = _item.ID;
}
if (!string.IsNullOrEmpty(_item.Name))
{
comdt["Name"] = _item.Name ;
}
if (comdt != null)
{
CompDt.Rows.Add(comdt);
}
}
this.comCompany.DataSource = CompDt;
this.comCompany.DisplayMember = "Name";
this.comCompany.ValueMember = "ID";
另外是绑定Ilist
Ilist<Object> mylist = new List<object>();
foreach (_BasCompany _item in list)
{
object myObject = new Object()
if (!string.IsNullOrEmpty(_item.ID))
{
myObject.ID = _item.ID;
}
if (!string.IsNullOrEmpty(_item.Name))
{
myObject.ID.Name= _item.Name ;
}
if (comdt != null)
{
Mylist.add(myObject);
}
}
需要注意的读取value 方式是
string ValueMember = this.comCompany.selectValue();
如果是通过combobox.Items.add(object)
this.comCompany.Items.Add(object);
this.comCompany.DisplayMember = "Name";
this.comCompany.ValueMember = "ID";
需要注意的读取value 方式是
string ID= ((Object)this.comCompany.SelectedItem).ID.ToString();