データ グリッドに非常に非標準的な並べ替えを実装する必要があります。グリッドは現在、元の行のデータ行フィルターが設定された DataView にバインドされています。データはリアルタイムで取得されるため、毎秒タイマーで変更を受け入れます。基になるデータ テーブルに加えられた変更を表示します。グリッドは読み取り専用で、純粋にリアルタイム データを表示します。
簡潔にするために、並べ替えの詳細は省略します。この問題を解決するために、DataView をソース データとして受け入れるカスタム データ ビュー (読み取り専用) を実装しました (これにより、行の状態でフィルター処理を行い、リアルタイム データの仮想グリッド パターンを保持できます)。このコレクション/データ ビューは、グリッドにバインドできます。私の問題は、カスタム データ ビューの内部コレクションを基になるデータ ビューの変更で更新し続けることです。最初は、基になるデータ ビューの ListChanged イベントをリッスンしようとしましたが、基になるデータ テーブルに行を 1 つだけ追加して、accept changes を呼び出しても、コレクション全体を更新する必要があることを意味する Reset イベント タイプを取得します。 1 つの行が更新されただけで、何千もの行が更新 (および再ソート) されます。
これまでにこれを経験した人はいますか?グリッドがどのようにそれを行うのか疑問に思っています.データテーブルを指定しても、実際にはテーブルのデフォルトビューにバインドされているため、データグリッドがビューからデータ行のコレクション全体をリロードしていることを意味します.単一行の更新?
長文すみません!!
入力、回避策、さらには設計の代替案を評価してください...
ありがとうエイドリアン