C# 关于ComboBox控件的一点小问题。
我在ComboBox绑定了数据源,图为:但是我想实现的是这样:就是在ComboBox多插入一项“请选择”,请问要怎么实现呢?我在网上找了很久都没实现,望高手指点一下,谢谢...
我在ComboBox绑定了数据源,图为:
但是我想实现的是这样:
就是在ComboBox多插入一项“请选择”,请问要怎么实现呢?我在网上找了很久都没实现,
望高手指点一下,谢谢了,不要告诉我修改数据库哦。 展开
但是我想实现的是这样:
就是在ComboBox多插入一项“请选择”,请问要怎么实现呢?我在网上找了很久都没实现,
望高手指点一下,谢谢了,不要告诉我修改数据库哦。 展开
4个回答
展开全部
如果只是单纯的绑定一个字符串列表,很简单,不使用DataSource就是了,先添加"请选择"这个字符串到ComboBox里面,然后就是你DataSet里面的数据了,比如添加ds这个DataSet里面第一个表中第一列数据的代码如下,要使用其它列的值你修改一下索引值就是了:
this.comboBox.Items.Add("请选择");
foreach(DataRow dr in ds.Tables[0].Rows)
this.comboBox.Items.Add(dr[0].ToString());
如果是要绑定一个自定义的类,和上面的做法差不多,首先构造一个“请选择”的实例,添加进去,然后遍历,构造其它数据的实例进行添加就可以了,希望对你有帮助,还有疑问请追问或是Hi
this.comboBox.Items.Add("请选择");
foreach(DataRow dr in ds.Tables[0].Rows)
this.comboBox.Items.Add(dr[0].ToString());
如果是要绑定一个自定义的类,和上面的做法差不多,首先构造一个“请选择”的实例,添加进去,然后遍历,构造其它数据的实例进行添加就可以了,希望对你有帮助,还有疑问请追问或是Hi
展开全部
直接插应该是不行的,比如说你绑定的数据是一个类,
你要new一个这个类才行,先把它加进去,再绑定
Area a=new Area();
a.Id=-1;
a.Name="请选择";
comboBox1.Items.Add(a);
comboBox1.SelectedIndex = 0; //设置显示第一行
如果还不行,就别绑定了,用Add()把
追问
数据是从数据库绑定的,用的DataSet对象,DataSource属性绑定后,想在实现加入一列“请选择”
追答
直接绑定不好啊,你没学实体类吗?把数据库里的表的每一行做成一个对象,然后放到一个泛型集合里,这样就能加请选择了。
最后comboBox1.DataSource=list
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.comboBox1.Text = "请选择";
追问
不行额,ComboBox1.Items.Insert(0, "请选择");也不行呢,还有其他方法吗?
追答
private void Form1_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
OdbcDataAdapter oda = new OdbcDataAdapter("select * from test", new OdbcConnection("Dsn=ConnectDs;uid=sa;upwd=sa"));
oda.Fill(ds);
this.comboBox1.DisplayMember = "tText";
this.comboBox1.ValueMember = "tid";
this.comboBox1.DataSource = ds.Tables[0].DefaultView;
DataRow dr = ds.Tables[0].NewRow();
dr["tid"] = "-1";
dr["tText"] = "请选择";
ds.Tables[0].Rows.InsertAt(dr, 0);
this.comboBox1.SelectedIndex = 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在绑定数据之后, 再插入一条:
ComboBox1.Items.Insert(0, "请选择");
ComboBox1.Items.Insert(0, "请选择");
更多追问追答
追问
不行的,提示DataSource 属性后无法修改项集合。
不行的,提示DataSource 属性后无法修改项集合。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询