winform中的下拉选单,已绑定数据表中的资料,但是加载后会选中第一个选项,不知道如何让它显示“请选择”,如果添加则会报
“Items collection cannot be modified when the DataSource property is set.”
请教高手,有什么办法可以添加“请选择”到第一项吗?
你可以试试,不过最好再获取DataSource的时候,加个参数ListItem,如果传入为null,则表示不添加"请选择"
cboxCustomer.DataSource = GetCustomerData();
cboxCustomer.DisplayMember = "Customer_Name";
cboxCustomer.ValueMember = "Customer_ID";
cboxCustomer.Items.Insert(0,"请选择");
给你提供一个思路:
使用泛型集合List作为ComboBox的数据源,然后修改该List即可。
public class Employees
{
public int ID { get; set; }
public string Name { get; set; }
}
//在Form_Load事件中添加
List<Employees> em = new List<Employees>();
//数据示例,实际操作时可将DataSet转为List
em.Add(new Employees() { ID = 1, Name = "张三1" });
em.Add(new Employees() { ID = 2, Name = "张三2" });
em.Add(new Employees() { ID = 3, Name = "张三3" });
//首项添加
em.Insert(0, new Employees { ID = 0, Name = "请选择" });
comboBox1.DataSource = em;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "ID";
有关DataSet转List请参看以下链接:
this.comboBox1.SelectedIndex = -1; 谁都不选。
选择的项为空