複数の列で同時に並べ替えることができるグリッドがページにあります。
例えば:
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個の列がある場合があります)。順序付けシーケンスを動的にする方法はありますか?