Mein Favorit ist das folgende Linq-Beispiel für Dynamische Sortierung einer SQL-Tabelle von der Nordwind Datenbank:
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();
}
Sie können dynamisch sortieren, indem Sie einfach ein Feld in der Variablen SortExpression
und eine Sortierreihenfolge in der Variablen sortAscending
.
Durch die Verwendung von .Take(x)
y .Skip(y)
Sie können auch Seitenwechsel implementieren leicht.