当前位置: 代码迷 >> C# >> comboBox增添"请选择"
  详细解决方案

comboBox增添"请选择"

热度:222   发布时间:2016-05-05 05:23:44.0
comboBox添加"请选择"

DataSet ds = 读取数据

//第一种方法
//comboBox1.Items.Insert(0,"请选择");
//第二种方法
//comboBox1.Items.Add("请选择");

comboBox1.DataSource = ds.Tables[0];
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";


comboBox1.Items.Insert(0,"请选择");或comboBox1.Items.Add("请选择");放在comboBox1.DataSource = ds.Tables[0];之前没有效果,放在comboBox1.DataSource = ds.Tables[0];之后出现错误:System.ArgumentException: 设置 DataSource 属性后无法修改项集合。


------解决思路----------------------

DataSet ds = 读取数据
comboBox1.DataSource = null;
comboBox1.Items.Clear(); 

//第一种方法
comboBox1.Items.Insert(0,"请选择");
//第二种方法
//comboBox1.Items.Add("请选择");
 
comboBox1.DataSource = ds.Tables[0];
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";

------解决思路----------------------
有3种办法
1.直接把这个东西放数据库里,一起查出来
2.修改数据源datatable,新增一行
3.不要使用绑定,而是代码增加Item
------解决思路----------------------
不要绑定,可以读取后添加
------解决思路----------------------

comboBox1.Text = "请选择";
comboBox1.DataSource = ds.Tables[0];
comboBox1.DisplayMember = "name";
comboBox1.ValueMember = "id";

这样行不,反正就是给个请选择的提示嘛
------解决思路----------------------
这里给你个建议,不要为了方便而想一些很奇怪的办法,有时候遍历一下就行了。即使你采用了微软自身的绑定,微软也是遍历去做的啊。

            DataSet ds = 读取数据
            comboBox1.Items.Clear();
            
            comboBox1.Items.Add("请选择");
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                comboBox1.Items.Add(row["id"].ToString(),row["name"].ToString());
            }

------解决思路----------------------
推荐修改DataTable数据源(即插入一条你要的提示的数据)后再绑定
  相关解决方案