何時間ものグーグルで見逃したこれに対する簡単な答えがあることを願っています...
データベースからレコードを表示および追加/削除/編集する必要がある DataGridView があります。私は Entity Framework を使用しているため、レコードは最初は EntitySet です。
- 試行 1
BindingSource には並べ替え機能がありますが、DataSource が EntitySet の場合、実際には利用できないようです。
- 試行 2
グリッドにカスタム ソートを実装してみてください。ただし、グリッドがデータバインドされている場合、カスタム ソートは許可されません。
- 試行 3
データに対して Linq クエリを実行し、そこで order 関数を使用します。これは注文したデータを取得するために機能しますが、AllowNew が false に変更されました。強制的に元に戻すことはできますが、DataGridView に追加されたレコードが EntitySet に追加されません (奇妙なことに、すべての更新が反映されます)。
- 試行 4
#3 のとおりですが、BindingSource の AddingNew イベントを処理し、オブジェクトを明示的に作成して EntitySet に追加します。これは、ユーザーがグリッドの下部にある新しいエントリ行を入力すると、デフォルト値でいっぱいの行がデータベースに追加されることを除いて機能します。ユーザーが行を入力し続けると、大量の行が取得されます。だからそれもダメ。
これを行う方法が必要です-確かに、いくつかのデータベースレコードをグリッドに表示し、完全な編集を許可することは、最も基本的な要件です(行をランダムな順序で表示することはあまり役に立ちません)?
最も感謝して受け取った助け...