zoukankan      html  css  js  c++  java
  • WinForm 中ComboBox 绑定总结

     1.  DataTable

    用DataTable直接绑定,只需要设置DataSource、DisplayMember、ValueMember三个属性即可。

    Code

    在使用时使用如下方式,即可取得相应的ID和Name,这样就可以基本满足业务要求了。

    StringTools.ObjectToInt(this.cmbConsumeSuperMarket.SelectedValue);
    StringTools.ObjectToStr(
    this.cmbConsumeSuperMarket.SelectedText);

    但如上的问题是,因为ComboBox绑定后默认显示第一项,但需要一项提示性选项,我没有找到什么好方法实现了。

    上网看一些人用ComboBox.SelectedIndex = -1或设置ComboBox.Text或初始化设置ComboBox.Items一个项为初始项或设置ComboBox.DropDownStyle,但我这里都没达到效果。

    本应实现效果A,但以上只能实现B效果,所以以上不符合要求。

    效果A     效果B

    2.  ComboBox.Items.Add

    一开始使用时,以为像Asp.net那样有ListItem属性可以使用,但Items只有几个特别简单的属性,还好Add(object item),所以就只能在object这里作文章了。

     所以就把要绑定的item新new 了一个对象,再重写ToString(),如是乎就可以了。

    因为在整个页面中,有很多类似的ComboBox控件,所以就小小的抽象了一下,然后就可以便捷的实现效果B了。具体实现方式如下:

    Code

    实现抽象即可 

    Code

    ComboBox的绑定

    Code

    ComboBox的获取 

    Code

    本人初学WinForm开发,以上内容是个人整理以便有需而用,其若有误,烦请帮忙指点更正,衷心感谢!BlackCore敬上!

  • 相关阅读:
    fedora 20 install skype
    WebsitePanel(wsp)配置详解(安装指南)
    【转】SQL Server 2008下载 (附注册码)
    SQL SERVER树型数据处理时,函数递归调用问题,查询根节点,子节点函数
    150 Opening ASCII mode data connection. FTP连接的PASV和PORT方式
    如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?
    DZ!NT论坛 3.6.711删除用户各种错解决方案
    在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)
    OpenStack Nova 制作 Windows 镜像
    HttpWebRequest访问时,错误:(401)未经授权。
  • 原文地址:https://www.cnblogs.com/blackcore/p/1606896.html
Copyright © 2011-2022 走看看