请问一下如果数据源是集合或者泛型列表,怎样配合objectdatasource和gridview进行排序啊,异常说objectdatasource只支持对datatable,dataview类型的数据源排序
比如说如何对用Membership.getAllUsers()获得的membershipusercollection集合进行排序
配合objectdatasource和gridview

解决方案 »

  1.   

    membershipusercollection没有sort()方法啊,虽然可以换成list<>类型但还是不能配合objectdatasource和gridview使用啊,它似乎只支持dataset类型的数据源排序?
      

  2.   

    List<T>,Sort可自定义排序
    List <T>.Sort(IComparer <T>) 
    public class StudentComparer : IComparer <Student> 

        public enum CompareType 
        { 
            Name, 
            Age, 
            Grade 
        } 
        private CompareType type; 
        public StudentComparer(CompareType type) 
        { 
            this.type = type; 
        } 
        public int Compare(Student x, Student y) 
        { 
            switch(this.type) 
            { 
                case CompareType.Name: 
                    return x.Name.CompareTo(y.Name); 
                case CompareType.Age: 
                    return x.Age.CompareTo(y.Age); 
                default: 
                    return x.Grade.CompareTo(y.Grade); 
            } 
        }