winform中comboBox控件加默认选项的问题
winform程序设计中,label,TextBox,ComboBox等几个控件几乎是用得最多的,在设计中经常会遇到一些小问题,如:comboBox控件绑定了数据源之后,如何设置默认值?
combobox绑定数据源之后是这样的
北京 <----默认显示的就是这条
上海
深圳
....
北京 <----默认显示的就是这条
上海
深圳
....
想要让它显示成这样
请选择城市 <--------要想默认显示这条
北京
上海
深圳
....
尝试做法:
1、修改了DropDownStyle属性也不起作用。
2、消去数据源直接用 combobox.Items.Add()的方法好像也可以,但就失去了SelectedValue绑定ID,SelectedItem绑定名称功能,因为保存的时候需要储存ID并不是名称。所以用这种办法也不行。
3、如果是Asp.net中的DropDownList控件的话,绑定好数据源之后,大概这样就行了 dropdownList1.Items.Insert(0,new ListItem("name","value"));但是combobox这样设置就不行。
最后用这种办法:
先把数据源装载到DataTable对象中,再利用DataTable数据结构构建新的一行,并插入到第一项中。
示例代码如下:
//操作数据层类,根据自己实际代码修改
clsCheckItemOpr itemBll = new clsCheckItemOpr();
//获取DataTable数据集
DataTable dtbl = itemBll.GetAsDataTable("IsLock=false", "SysCode", 1);
//插入一个默认选项
DataRow dr = dtbl.NewRow();
dr["ItemCode"] = "0";//这个值可以自己需要设置,但不要和已经存在ID重复,所以最好设置特殊一点
dr["ItemName"] = "请选择城市";
dtbl.Rows.InsertAt(dr, 0);//指定起始位置插入
cmbCheckItem.DataSource = dtbl;//用DataTable绑定到combobox控件中
clsCheckItemOpr itemBll = new clsCheckItemOpr();
//获取DataTable数据集
DataTable dtbl = itemBll.GetAsDataTable("IsLock=false", "SysCode", 1);
//插入一个默认选项
DataRow dr = dtbl.NewRow();
dr["ItemCode"] = "0";//这个值可以自己需要设置,但不要和已经存在ID重复,所以最好设置特殊一点
dr["ItemName"] = "请选择城市";
dtbl.Rows.InsertAt(dr, 0);//指定起始位置插入
cmbCheckItem.DataSource = dtbl;//用DataTable绑定到combobox控件中
cmbCheckItem.ValueMember = "ItemCode";//设置SelectedValue字段
cmbCheckItem.DisplayMember = "ItemName";//显示于界面的字段现在问题解决,达到我们想要的结果。
在此一记,无任何技术含量,高手请莫拍砖!
本文来自博客园,作者:陈国利,转载请注明原文链接:https://www.cnblogs.com/cgli/archive/2011/06/28/2092002.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
如果您觉得文章对您有帮助,可以点击文章右下角"推荐"或关注本人博客。您的鼓励是作者坚持原创和持续写作的最大动力!
分类:
C#
标签:
combobox设置默认选项
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」