当前位置:编程学习 > C#/ASP.NET >>

请问如何对集合排序

请问一下如果数据源是集合或者泛型列表,怎样配合objectdatasource和gridview进行排序啊,异常说objectdatasource只支持对datatable,dataview类型的数据源排序
比如说如何对用Membership.getAllUsers()获得的membershipusercollection集合进行排序
配合objectdatasource和gridview
--------------------编程问答-------------------- Sort()方法。...... --------------------编程问答-------------------- membershipusercollection没有sort()方法啊,虽然可以换成list<>类型但还是不能配合objectdatasource和gridview使用啊,它似乎只支持dataset类型的数据源排序? --------------------编程问答-------------------- 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); 
        } 
    } 

--------------------编程问答--------------------
引用 3 楼 wuyq11 的回复:
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);
        }
    }
}

学习了
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,