dynamiczne sortowanie w linq
proszę rozważyć ten scenariusz:
Mam listę klas z około 50 polami. Chcę mieć Combobox, który użytkownik może wybrać zgodnie z listą pól, które będą sortowane. Na przykład, jeśli użytkownik wybierze listę „F1”, sortuj według „F1”.
Nie chcę tego sortowaćif-else
dla każdego pola. Widzę ten temat:
Sortowanie widoku siatki podczas wiązania danych kolekcji lub listy obiektów
ale nie mogę użyć tej odpowiedzi. Jak mogę korzystaćExpression Tree
w tym celu?
Edytuj 1) :
Według drogiej odpowiedzi @Thom Smith napisałem ten kod:
using (NorthwindModel1.NorthwindEntities2 ent = new NorthwindModel1.NorthwindEntities2())
{
var query = from o in ent.Orders
where o.OrderID < 10257
select o;
query.OrderBy("CustomerID", SortDirection.Ascending);
GridView1.DataSource = query;
GridView1.DataBind();
}
ale nie został posortowany. jeśli napisałem ten kod w ten sposób:
GridView1.DataSource = query.OrderBy(o=>o.CustomerID);
to jest sortowanie. gdzie jest problem?