我找了些资料,都说combobox只有绑定单个字段,请问该如何将多个字段显示到combobox上
例如我查询得到的数据是  min  max
                         0    1
                         2    3
...
我想实现成把0-1,2-3,...放到combobox的选项上,该如何实现?

解决方案 »

  1.   

    如果你绑定的数据是List<SomeClass>,那么如果你想在Combox中想显示你要的效果,应该这样public Class SomeClass
    {
        public int Min{get; set;}
        public int Max{get; set;}    public override string ToString()
        {
            return string.Format("{0}-{1}", Min, Max);
        }
    }
      

  2.   

    你在查的时候用sql连接起来不就行吗?
      

  3.   

    问题是我实现的必须兼容mysql和sql数据库   他们sql语句并不一样
      

  4.   

    方法一:查询的时候,直接在SQL是进行拼接方法二:查询的结果不要绑定,用items进行每顶添加,添加过程中进行拼接。方法三:利用中间数据源,也就是list进行处理,总之都要进行拼接。其它方法自己想
      

  5.   

    select max(num) from 表名
    sleect min(num) from 表名
    得到查询的结果List<> list=new List();
    string str=结果1+"-"+结果2+"";
    list.Add(str);
    下拉框.DataSource()=list;
      

  6.   

    我刚刚就是使用这种方法实现   可是不知道出了什么问题  combobox中值只有第一项而已
      

  7.   

    那是当然的 因为这样sql语句值返回一条数据要想得到多条就需要加条件 比如id in(1,3,4,5) 之类的
      

  8.   

    谢谢   能否使用下拉框.DisplayMember和valuemember来实现呢
      

  9.   

    DisplayMember绑定需要显示的数据表字段,ValueMember绑定需要获取选择的项的值也就是说DisplayMember是显示在下拉框的中的 按常理说应该可以
    但是首先需要指定 combox.DataSource,
    然后用表DataSource的字段名设置combox的ValueMember和DisplayMember 
      

  10.   

    是啊  按理说可以实现的  我让combox的datasource绑定list,然后设置displaymember为list的其中一个字段
      

  11.   

    OK   可以了  是我自己的问题  我把displaymember和valuemember放到了for循环里   所以才出不来
      

  12.   

    那LZ你先不读取数据库的
    直接string str="0-1";
        string str1="0-2";
    list.Add(str);list.Add(str2);