我在一个页面上有一个网格,我希望它可以同时在多个列上进行排序。
例如:
UserID FirstName LastName
=======================================
1 Bruce Wayne
2 Peter Parker
3 Clark Kent
4 Tony Stark
5 Helena Wayne
用户可以选择按 LastName ASC 排序,然后按 FirstName DESC 排序,这将产生以下结果:
UserID FirstName LastName
=======================================
3 Clark Kent
2 Peter Parker
4 Tony Stark
5 Helena Wayne
1 Bruce Wayne
用户可以重置排序并决定以其他方式对其进行排序。
如何在 LINQ 中实现这一点?据我所知,链式排序的方法是做类似的事情
superheroes.OrderBy(x => x.LastName).ThenByDescending(x => x.FirstName)
显然,我不想写出所有可能的列顺序组合(我的网格可能最多有 10 列)。有什么方法可以使排序顺序动态化吗?