4

アプリケーションの一部として、複数の固定されたスクロール ペインで構成される「スーパー グリッド」を作成する必要があります。グリッドには、次の機能をサポートする必要があるという要件もあります。

  • 「妥当な」スクロール パフォーマンスで数百行のデータグリッドを表示する
  • 特定のフィールドでグループ化し、グループ化して折りたたむ/展開する
  • 画像、テキスト、コンボボックス、ボタンなど、フィールド内に任意のコントロールを表示します
  • ボタンとフィールドの編集、および読み取り専用モードを許可する
  • 複数の垂直分割ペインを許可する (または回避策、複数の同期グリッド)
  • 永続性を伴うユーザー列の並べ替え
  • ユーザー列の昇順/降順の並べ替え
  • 列の動的挿入/削除 (列の選択)
  • グループ化の下の 4 番目のディメンション – 選択した行の RowDetails テンプレート
  • 値の更新時にセル/行テンプレートの点滅/アニメーションを許可

私の最初の実現可能性は、WPF Datagrid が上記のほぼすべての要件に対応できることを示唆していますが (重いテンプレートを使用)、複数の垂直分割ペインはカバーされない可能性があります。以下は、私が達成しようとしていることの図です。

ここに画像の説明を入力

誰かが以前にこれを行ったことがあるかどうか、もしそうなら、どのグリッド技術を使用したかをお尋ねしたいと思います.

  • 上記はWPF Datagridで実行できますか? Frozen 列を認識していますが、これは最初の N 列のみの凍結に適用されるようです
  • 上記は、複数のグリッドと垂直スクロール位置の同期で達成できますか?
    • もしそうなら、このソリューションはまだ仮想化されますか?
  • 代わりにこれを達成するために推奨できるサードパーティのグリッドはありますか? 社内ブランディングに従ってグリッドを大幅にスタイリングするため、柔軟でブレンド可能でなければならないことに注意してください

コメント/提案をお待ちしております。

更新 - 実現可能性調査の結果

次に、グループ化と行の詳細テンプレートに取り組みます...ポイントをくれた回答者に感謝します! :)

4

2 に答える 2

1

devexpress wpf grid controlを使用して、要件のほとんどを実装しました。無料ではなく、学習曲線が少しあります (ドキュメントは不可欠です) が、長い目で見れば時間を大幅に節約できます...

于 2012-02-06T11:27:21.193 に答える
1

DataGrid完璧なパフォーマンスと究極の柔軟性を備えた標準でこれを行いましたが、それには健全なアーキテクチャが必要です。データと UI の両方を仮想化する必要があります。たとえば、大規模なデータ セットを並べ替えるコストを無効にするコントロールはありません。そのため、並べ替えが UI スレッドで行われている場合、ユーザーは気付くでしょう。バックエンドがページングとフィルターをサポートしている場合、フロントエンドは仮想化でき、ユーザーは 10000 行のうち 100 行しか読み込まれていないことを知ることはありません。 UI の応答性が低下することはありません。

しかし、あなたがどこで働いているかを知ると、あなたのフロントエンドが本当の働き者であると私は疑うようになります...

于 2012-02-06T12:04:37.227 に答える