已经通过接口获得了数据,并且放在一个Arraylist里面,如何在将Arraylist赋给Dropdownlist时改变其显示的顺序,即按照Datavaluefield值从小到大进行排序并显示。谢谢!

解决方案 »

  1.   

    把数据源 放到dataview里面 再进行排序
      

  2.   


    首先有一点,对于中文,你希望是以什么顺序排序?   
      如果是汉语拼音顺序,可能很难或者基本没办法实现。   
      如果name只是普通字符串,你希望以字母顺序排序,可以使用下面的方法   
        
      class   Person   {   
      public   String   name;   
      public   int   id;   
      public   Person   (String   name,int   id)   {   
      this.name=name;this.id=id;   
      }     
      ..//other   methods   
      }   
        
      List   l=new   ArrayList();   
      l.add(new   Person("张三",1));   
      ...//add   some   other   Person   object   
      Collections.sort(l,new   Comparator   ()   {   
      public   int   compare(Object   o1,Object   o2)   {   
      Person   p1=(Person)o1;   
      Person   p2=(Person)o2;   
      return   p1.name.compareTo(p2.name);   
      }   
      });
    如果是数据那应该就简单了
      

  3.   

    Arraylist本来就是Sort的,如果要按照你自己的意愿来sort的话,一个是把你自己的对象实现IComparable接口,另外的就是自己实现一个IComparer
      

  4.   

    我就是想根据Datavaluefield中数值的大小进行排序
      

  5.   

    ArrayList   a   =   new   ArrayList()   ;   
      a.Add(11)   ;   
      a.Add(12)   ;   
      a.Add(3)   ;   
      a.Add(8)   ;   
      a.sort()   ;