何百もの列を持つテーブルがあります (FirstName
や などLastName
)。
このすべてのデータはGridView
with リストとして表示されます。をSortCommand
持つイベントを使用しましたが、ラムダ式を入力した後e.SortExpression
、関数で使用する方法がわかりません。OrderBy
IntelliSense は、必要な列 (実行時にのみ表示される列) ではなく、数百の列をすべて表示します。
Func<TSource, TKey>
関数が期待するセレクターを使用して、文字列がソートする必要がある列であるOrderBy
ことを知らせるにはどうすればよいですか?e.SortExpression
私が本質的に意味することの例:
private void dataGrid_SortCommand(object source, DataGridSortCommandEventArgs e)
{
var users = new UsersEntities().UsersTable.OrderBy(x => "x."+e.SortExpression);
FillDataGrid(users);
}
更新:これを達成しようとしている方法は式ツリーを使用することであることがわかりました。誰かが正確な解決策を提供してくれることを願っています。
更新 2:ここで解決策を見つけました。私の質問は重複していて、それに加えて、言葉遣いが悪いことがわかりました。みんなありがとう。
また、ken が動的リンクを使用する必要があるというかなりひどい証拠を提供していることにも気付きました。将来的にはそうすることを検討しますが、ライブラリに依存するよりも式ツリーを試してみることの楽しさに気付かずにはいられませんでした。この段階では、私はまだ Expression ツリーに慣れていないので、これを利用する絶好の機会です。