Mein Favorit ist das folgende Linq Beispiel für dynamisch eine SQL-Tabelle aus der Northwind Datenbank Sortierung:
void Main()
{
// Demonstrates dynamic ordering
var SortExpression = "Total"; // choose ProductName or Total
var sortAscending = true; // choose true for ascending, false for descending
// the query to sort
var data = (from pd in Products
join od in OrderDetails on pd.ProductID equals od.ProductID into DetailsByProduct
select new { ProductName = pd.ProductName, Total = DetailsByProduct.Count()}).ToList();
// the data source you can use for data binding
var ds= (sortAscending)
? data.OrderBy(x => x.GetType().GetProperty(SortExpression).GetValue(x, null))
: data.OrderByDescending(x => x.GetType().GetProperty(SortExpression).GetValue(x, null));
ds.Dump();
}
Es Ihnen erlaubt, dynamisch sortieren, indem Sie einfach auf ein Feld in den Variablen SortExpression
spezifiziert und eine Sortierreihenfolge in der Variablen sortAscending
.
Mit .Take(x)
und .Skip(y)
können Sie auch Paging einfach implementieren.
Eine sehr gute Frage, aber ich denke, es sollte wikified werden. – GvS