2009-01-15 6 views
0

J'ai le code suivant:GridView Tri sur la liste

var emp = new List<Employee> 
{  
    new Employee{ID=1, EmpFname="matt", EmpLName="Cook"}, 
    new Employee{ID=2, EmpFname="mary", EmpLname="John"} 
    // and so on 
}; 

Comment trier les emp par emplName et le lier à un GridView? Comment puis-je spécifier asc ou desc?

Si quelqu'un pouvait l'expliquer en utilisant l'expression LINQ/Lambda, il sera utile

Répondre

1

Vous pouvez utiliser OrderBy (descendant) et une expression lambda pour sélectionner le nom. J'utilise "nom, prénom" comme clé dans l'exemple ci-dessous.

var ordered = emp.OrderBy(e => e.EmpLName + ", " + e.EmpFName) 
        .ToList(); 

var inverse = emp.OrderByDescending( => e.EmpLName + ", " + e.EmpFName) 
        .ToList(); 

Pour lier à GridView, définissez DataSource de GridView sur la liste ordonnée. Vous pouvez être en mesure d'ignorer l'étape ToList si GridView prend un IEnumerable en tant que source de données. Je ne me souviens pas quelles interfaces sont supportées du haut de ma tête.

Questions connexes