Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据
使用 ComboBox 控件绑定key/value值:
因为 ComboBox 是有 DataSource 属性的,所以它可以直接绑定数据源,如 DataTable、ListItem 等。
使用 DataTable 直接绑定:
public void BindSource()
{
DataTable dt = new DataTable();
dt.Columns.Add("Text", Type.GetType("System.String"));
dt.Columns.Add("Value", Type.GetType("System.String")); dt.Rows.Add("请选择", "");
dt.Rows.Add("选项一", "");
dt.Rows.Add("选项二", "");
dt.Rows.Add("选项三", ""); comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Text"; // Text,即显式的文本
comboBox1.ValueMember = "Value"; // Value,即实际的值
comboBox1.SelectedIndex = ; // 设置为默认选中第一个
}
string text = this.comboBox1.Text; //获取选中项文本
string value = this.comboBox1.SelectedValue.ToString(); //获取选中项的值
使用 ListItem 实现 key/value:
public class ListItem : Object
{
public string Text { get; set; } public string Value { get; set; } public ListItem(string text,string value)
{
this.Text = text;
this.Value = value;
} public override string ToString()
{
return this.Text;
}
}
public void BindSource()
{
List<ListItem> list = new List<ListItem>(); list.Add(new ListItem("请选择", ""));
list.Add(new ListItem("选项一", ""));
list.Add(new ListItem("选项二", ""));
list.Add(new ListItem("选项三", "")); comboBox1.DisplayMember = "Text"; // Text,即显式的文本
comboBox1.ValueMember = "Value"; // Value,即实际的值
comboBox1.DataSource = list;
comboBox1.SelectedValue = ""; // 设置选择值为 0 的项
}
string text = (this.comboBox1.SelectedItem as ListItem).Text; //获取选中项文本
string value = (this.comboBox1.SelectedItem as ListItem).Value; //获取选中项的值
使用 ComboBoxEdit 控件绑定key/value值:
因为 ComboBoxEdit 没有 DataSource 属性,所以不能直接绑定数据源,只能一项一项的添加。
public class ListItem : Object
{
public string Text { get; set; } public string Value { get; set; } public ListItem(string text,string value)
{
this.Text = text;
this.Value = value;
} public override string ToString()
{
return this.Text;
}
}
public void BindSource()
{
string text = string.Empty;
string value = string.Empty; ListItem item = null; for (int i = ; i < ; i++)
{
if (i==)
{
text = "请选择";
}
else
{
text = "选项" + i.ToString();
}
value = i.ToString(); item = new ListItem(text, value);
this.comboBoxEdit1.Properties.Items.Add(item);
}
}
获取选中项的值时,注意判断是否选择。
string text = string.Empty;
string value = string.Empty; if (comboBoxEdit1.SelectedIndex < ) //小于0,表示未选择,如果是输入的也小于0
{
text = comboBoxEdit1.Text.Trim(); //只能获取输入的文本
}
else
{
text= (comboBoxEdit1.SelectedItem as ListItem).Text; //获取选中项文本
value = (comboBoxEdit1.SelectedItem as ListItem).Value; //获取选中项的值
}
Winform开发之ComboBox和ComboBoxEdit控件绑定key/value数据的更多相关文章
- C#端加载数据库,Combobox与Node控件绑定数据源demo示例
最近一直在做网页.用的js比较多,最近需要做一个C#相关的demo,一开始还有点不适应,写了几句有点感觉了 本篇博客的主要内容是C#怎么读取数据库文件里的数据以及相关控件如何绑定数据源,所做的Demo ...
- VS环境下,DEV插件的ComboBoxEdit控件最简单的数据源绑定和获取方法
使用 ComboBoxEdit 控件绑定key/value值: 因为 ComboBoxEdit 没有 DataSource 属性,所以不能直接绑定数据源,只能一项一项的添加. 首先创建一个类ListI ...
- .Net平台Winform两个ComboBox控件绑定同一个数据源
今天WINFROM编程遇到这么一个问题:是有关WINFORM中两个comboBox控件绑定同一个数据源的问题,在窗体的界面上有两个comboBox,我在Form1_Load中对他们做了数据绑定(具体代 ...
- ComboBox控件绑定数据源
最近在研究机房收费系统的组合查询的方法时,看到了ComboBox控件可以进行数据绑定,我觉得这个功能真的很不错,可以给我省去很多的麻烦. 下面是我组合查询窗体界面 一.数据转换方法 现在我们开看一下我 ...
- DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable
绑定数据及定义列信息 LookUpEdit lue = lookUpEdit1; DataTable dt = new DataTable(); dt.Columns.Add(new DataColu ...
- [WinForm]WinForm跨线程UI操作常用控件类大全
前言 在C#开发的WinForm窗体程序开发的时候,经常会使用多线程处理一些比较耗时之类的操作.不过会有一个问题:就是涉及到跨线程操作UI元素. 相信才开始接触的人一定会遇上这个问题. 为了解决这个问 ...
- SNF开发平台WinForm之三-开发-单表选择控件创建-SNF快速开发平台3.3-Spring.Net.Framework
3.1运行效果: 3.2开发实现: 3.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http: ...
- 在Winform开发框架中,利用DevExpress控件实现数据的快速录入和选择
在实际的项目开发过程中,有好的控件或者功能模块,我都是想办法尽可能集成到我的WInform开发框架中,这样后面开发项目起来,就可以节省很多研究时间,并能重复使用,非常高效方便.在我很早之前的一篇博客& ...
- SNF开发平台WinForm之十五-时间轴控件使用-SNF快速开发平台3.3-Spring.Net.Framework
一.显示效果如下: 二.在控件库里选择UCTimeAxis 拖拽到窗体里. 三.加入以下代码,在load事件里进行调用就可以运行了. #region 给时间轴控件加载数据 private void U ...
随机推荐
- 异常处理----使用 try…catch…finally 处理异常
使用 try…catch…finally 处理异常 异常处理是通过try-catch-finally语句实现的. try { ...... //可能产生异常的代码 } catch( Exception ...
- 如何在Oculus官网下载OculusSetup.exe(当前时间20170720)
踩着免费的蓝灯FQ登录了Oculus官网,找了半天找不到哪里下载OculusSetup.exe,最后在最下面的支持中心找到了..... https://www.oculus.com/
- cocos2d-x游戏引擎核心之十——网络通信
一.建立基本的http通信并得到返回信息 1.创建cocos2dx工程 2.项目引用外部库 如果要使用cocos2dx的CCHttpClient来进行网络访问,则需要引入cocos2dx的相关库,详细 ...
- IOS视频播放器的制作
利用自带MPMoviePlayerController来实现视频播放,首先要在项目中导入MediaPlayer.Framework框架包. 在视图控制器中 #import "MediaPla ...
- iOS 录音功能的实现
这两天也调了一下ios的录音,原文链接:http://www.iphoneam.com/blog/index.php?title=using-the-iphone-to-record-audio-a- ...
- 收集的可以下载css3字体图标的网站
http://icomoon.io/app/ 可以选择跟简单调整图标打包成css3 字体下载, http://www.flaticon.com/categories/weapons
- linux 中怎样返回上一层目录的命令?
可以使用cd命令,cd命令的功能是切换到指定的目录:命令格式:cd [目录名]目录名有几个符号有特殊的含义,“..”代表上一级目录.“~”代表HOME目录.“-”代表前一目录.因此返回上一级目录可以使 ...
- 【BZOJ3786】星系探索 DFS序+Splay
[BZOJ3786]星系探索 Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球 ...
- windows系统常用软件及配置介绍
常用工具 ,,,, 开发工具 ,,, 快捷键 ... 等等 vvv 等等
- JSP 通过Session和Cookie实现网站自动登录
点记住密码 login.jsp String host = request.getServerName(); Cookie cookie = new Cookie("SESSION_LOGI ...