問題が発生しました。データベースに保存したすべてのローンを次のように取得します。
list_loans = db.Loan.Where(x => x.State.id_state != 6).ToList();
db はオブジェクト コンテキストです。
次に、そのリストを DataGridView の DataSource として割り当てます。
dgv_Loans.Datasource = list_loans;
その情報を使用して、いくつかの列を追加します。たとえば、残りの分割払いのように。クエリの結果を数えることでその値を取得します。
ユーザーは、いくつかのオプションを使用して結果を注文できます。エンティティが持つフィールドからの結果を (linq を使用して) 並べ替えるのは簡単ですが、この新しい列を使用して結果を並べ替える方法がわかりません。
ここでいくつかの投稿を読んで、これを試しました:
dgv_Loans.Sort(dgv_Loans.Columns["installments_left"], ListSortDirection.Ascending);
これを行うと、実行時に次の例外が発生します。
「DataGridView コントロールは、並べ替える IBindingList オブジェクトにバインドする必要があります。」
DataGridViewColumnで作成された列を並べ替えるためにlinqを使用する方法はありますか? または、どうすればこのエラーを解決できますか?
関連する投稿があることは知っていますが、それらを読んだ後、この特定の問題の解決策が見つかりません。そのため、アドバイスを得るためにどのように実装したかを示しました..