有数据如下:
id   科目
1    语文
2    数学
3    英语
4    化学
5    语文
6    语文
7    化学
这些是我随便写上去的字段,我知道用代码怎么绑定,但不知道怎么把重复的只显示一条记录,就如ComboBox绑定后只显示
   语文 
   数学
   英语
   化学
用什么方法来实现,有没有代码或者参考?

解决方案 »

  1.   

    见下地址,4楼
    http://topic.csdn.net/u/20100604/23/d0700f64-8a1b-4684-9127-d915ea38f50b.html
      

  2.   

    Sql 语句去重。select distinct * from table再绑定数据源。或者说,你的数据源是LIST  Array之类的。直接调用Distinct() 去重。
      

  3.   


    偶是新手,但还知道用distinct ,我需要要代码里处理,绑定其他控件时,有些地方还是要重复出来的,可否麻烦你用List Array之类的写一个例子?
      

  4.   

    你把数据从数据源取出来之后,做个Distinct处理之后再绑定到控件上啊
    List<String> subjects = GetSubjectFromDb();
    subjects = subjects.Distinct();
    this.comboBox.DataSource = subjects;
      

  5.   


    这些是.net的吧,Winform窗体貌似没有Distinct();
      

  6.   


    distinct 是LinQ实现的
            //这是WinForm环境下的,测试可行。
            private void bind()
            {
                List<string> li = new List<string>();
                li.Distinct();
                gv.DataSource = li;
            }
      

  7.   

    谢谢各位,我用其他的方法。还是很感谢各位的指点。
                   List<string> lsName=new List<string>();
                    for(int i=0;i<this.dataGridView1.Rows.Count-1;i++)
                    {
                        string name=this.dataGridView1.Rows[i].Cells[2].Value.ToString();
                        if(lsName.Contains(name))
                        {
                            continue;
                        }
                        else
                        {
                            lsName.Add(name);
                        }
                    }
                    this.comboBox1.DataSource=lsName;
    还有回复一下6楼pz25925, 我winform时引用了Linq,好像li.Distinct();有错,没有Distinct(),呵呵,不过还是谢谢你。