在为 ComboBox 当定数据的时候,如果遇到界面显示需要用文本,而获取选定项的值时需要用数字,我们就很习惯使用 DataSource  来进行绑定。

例如以下代码:

 List<TextValue> tvList = new List<TextValue>();
for (int i = ; i < ; i++)
{
tvList.Add(new TextValue(i.ToString(), i));
}
ComboBox cmb = new ComboBox();
cmb.DataSource = tvList;
cmb.DisplayMember = "Text";
cmb.ValueMember = "Value";
cmb.SelectedIndex = ;

但是这么做,在最后一行设置下拉列表框选定项的时候会出现异常,因为这样直接绑定后,下拉列表框的 Items 属性中的数据长度是 0。但是我们又必须设置选定项,这个时候我用了一下代码:

ComboBox cmb = new ComboBox();
for (int i = ; i < ; i++)
{
cmb.Items.Add(new TextValue(i.ToString(), i));
}
cmb.DisplayMember = "Text";
cmb.ValueMember = "Value";
cmb.SelectedIndex = ;
/// <summary>
/// ComboBox的Item
/// </summary>
public class TextValue
{
public TextValue() { } public TextValue(string inText, int inValue)
{
this.Text = inText;
this.Value = inValue;
} private string _text;
private int _value;
/// <summary>
/// 文本
/// </summary>
public string Text
{
set { this._text = value; }
get { return this._text; }
}
/// <summary>
/// 值
/// </summary>
public int Value
{
set { this._value = value; }
get { return this._value; }
}
}

这么做既可以让下拉列表框做到显示和背后的值的分离,也可以立刻设置选定项。

Winfrom 中 ComboBox 绑定数据后设置选定项问题的更多相关文章

  1. 也谈解决Combobox绑定数据后取值出现System.Data.DataRowView的问题

    刚才遇到一个怪现象:同一个窗口,同一张表,通过第一个Combobox值的改变,动态绑定第二个Combobox,结果出现一个怪现象,第一个Combobox有的值改变第二个Combobox一切正常,有几个 ...

  2. winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中

    ; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums ...

  3. ListBox和ComboBox绑定数据简单例子

    1. 将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容 //自定义了Person类(有Name,Age,Heigth等属性) List<Person> per ...

  4. Winfrom中ListBox绑定List数据源更新问题

    Winfrom中ListBox绑定List数据源更新问题 摘自:http://xiaocai.info/2010/09/winform-listbox-datasource-update/ Winfr ...

  5. Devexpres下LookUpEdit绑定数据后会默认弹出数据框的解决办法

    LookUpEdit绑定数据后会默认弹出数据框很不友好问题现象: 问题解决前的代码: lueManagement.Text = groupEntity.Name; 2 lueManagement.Ed ...

  6. silverlight中 ComboBox绑定数据库,并获取当前选定值

    silverlight中 ComboBox绑定数据库,并获取当前选定值 在silverlight中 用combobox下拉菜单绑定数据库的方法和用DataGrid绑定数据库的方法类似. page.xa ...

  7. select change下拉框改变事件 设置选定项,禁用select

    select change下拉框改变事件 设置选定项,禁用select 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...

  8. winform combobox绑定数据

    mboBox下拉菜单控件,在数据库内的ComboBox应用的表进行修改时,如果是用的普通方法,显示数据一个方法,添加数据一个方法 这样会导致程序后期维护难度增加,在这里使用数据绑定来让ComboBox ...

  9. (摘)C#comboBox绑定数据

    C#中comboBox用代码绑定数据库中在某一列.用处:跟radioButton联系在一起,可以根据radioButton在选择而在comboBox显示出不同的值. private void radi ...

随机推荐

  1. Codeforces Round #324 (Div. 2) A. Olesya and Rodion 水题

    A. Olesya and Rodion Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/584/p ...

  2. [AngularJS] Catching errors with $exceptionHandler

    The AngularJS $exceptionHandler service allows you to catch and handle unanticipated JavaScript erro ...

  3. android学习日记17--Gallery(画廊视图)

    一.Gallery 1.简述 Gallery有道翻译为画廊,就叫它画廊控件,主要用来可切换的图片展示,左右滑动可以选择上一张或下一张图片. 个人感觉蛮实用的,不过google貌似不推荐使用啊! 2.常 ...

  4. Web.xml 中增加log4j

    配置文件例如以下.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...

  5. 关于Log4j的初始化

     1Log4j是什么 Log4j是Apache比較优秀的开源项目.在各个平台和项目中有较为广泛的应用.是为JAVA平台开发的日志管理平台.同一时候,Log4j也是JAVA开发项目中使用比較普遍的日 ...

  6. php中setcookie函数用法详解(转)

    php中setcookie函数用法详解:        php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见.        语法:        bool set ...

  7. 了解undefined、null、NaN的区别

    1.常规的解释,null是个对象,表示空值,undefined也是个对象,表示没有定义 2.详细分析 null 书上的解释(Javascript权威指南),Javascript的关键词null是一种特 ...

  8. linux定时执行文件

     #!/bin/bashcurl "http://172.16.201.24:8080/?app_act=timer/automic_integral" -b -q -o /dev ...

  9. iOS 开发中你是否遇到这些经验问题(一)

    前言 小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时 ...

  10. Java基础知识强化之网络编程笔记11:TCP之TCP协议上传文本文件

    1. TCP协议上传文本文件(客户端上传数据到服务器端) (1)客户端(上传数据到服务端) package cn.itcast_11; import java.io.BufferedReader; i ...