zoukankan      html  css  js  c++  java
  • C#中Combox的绑定总结

    C#中Combox的绑定总结

      刚来实习,经理让修改一个考试系统,看到以前的老前辈的代码,感觉和自己以前在学校接触的不一样,特此总结一下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,在选择要显示的项即可。

  • 相关阅读:
    springboot+https+http
    3.kettle-定时执行任务
    sqlserver清空删除日志
    C++学习(二)
    随笔(二) 安装Code::Blocks遇到的问题
    随笔(一) tensorflow环境的搭建
    C++学习(一)
    前端学习日记 (三)
    前端学习日记 (二)
    前端学习日记 (一)
  • 原文地址:https://www.cnblogs.com/xiaogelove/p/2837606.html
Copyright © 2011-2022 走看看