博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#中Combox的绑定总结
阅读量:5086 次
发布时间:2019-06-13

本文共 1335 字,大约阅读时间需要 4 分钟。

  刚来实习,经理让修改一个考试系统,看到以前的老前辈的代码,感觉和自己以前在学校接触的不一样,特此总结一下Combox的绑定,虽然这个问题都是老生常谈的东西了。感觉自己总结过了,明白了,反思了才会懂得,理解,以后也会运用自如了。

1,下面是前辈的例子,

首先从数据库中得到ds数据集

然后进行循环绑定添加items项

foreach(DataRow dr in ds.Tables[0].Rows)

     {                   
         this.comb_type.Items.Add(new ControlItem(dr,dr["answertypename"].ToString()));                   
     }
this.comb_type.SelectedIndex =0;

2,自己在学校学习的是绑定dt数据表或ds数据集。这样就不用循环添加items项了,感觉代码简练了很多。

this.comb_type.DataSource = dt;//也可以用ds,此处就是ds.Tables[0];

this.comb_type.DisplayMember = "answertypename"; //绑定显示成员的名字

this.com_answertype.ValueMember = "answertypeID";//绑定combox显示成员的值

this.com_answertype.SelectedValue = "0";//让combox固定显示某个成员名字。

3,可以设置combox的DisplayMember,ValueMemeber

ValueMemeber 是combox的值成员,而DisplayMember是combox的显示成员。

控件属性设置和代码中设置功能是一样的。

4,绑定datasourse后,怎么样让combox添加一项“请选择”
在asp中直接一句话:

this.DropDownList1.Items.Insert(0,new   ListItem( "请选择 ", "0 "));

但在winform中,绑定datasourse后就不能简单实现添加“请选择”项了。

可以用下面的两种方法实现

(1)首先获得dt  //或者ds

DataRow dr = ds.Tables[0].NewRow();

dr[0] = "0 ";
dr[1] = "请选择 ";
ds.Tables[0].Rows.InsertAt(dr, 0);

this.com_answertype.DataSource = ds.Tables[0];

this.com_answertype.DisplayMember = "answertypename";
this.com_answertype.ValueMember = "answertypeID";
this.com_answertype.SelectedValue = "0"; //在此处选择0值,即可显示请选择。

(2)在数据库中直接添加一项“请选择”,然后绑定dt或ds,在选择要显示的项即可。

转载于:https://www.cnblogs.com/xiaogelove/archive/2012/12/28/2837606.html

你可能感兴趣的文章
左手坐标系和右手坐标系
查看>>
solr后台操作Documents之增删改查
查看>>
http://yusi123.com/
查看>>
文件文本的操作
查看>>
Ubuntu linux下gcc版本切换
查看>>
记一次Web服务的性能调优
查看>>
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>