DXGrid (WPF) に大量のデータをロードする必要があります。要件を達成するにはXPInstantFeedbackSourceまたはXPServerCollectionSourceを使用する必要があることはわかっていますが、どちらを使用すればよいかわかりません。短所と長所に関するアイデアはありますか?
1 に答える
XPInstantFeedbackSource と XPServerCollectionSource はどちらもサーバー モードのデータ ソースです。このモードでは、データ対応コントロールはバインドされたデータ ソースに要求を送信し、必要に応じてデータの適切な部分を取得します。コントロールがバインドされたデータ ソースと対話する方法が異なる 2 つの異なるサーバー モードがあります。
- 通常のサーバー モード(または同期サーバー モード)。通常のサーバー モードでは、コントロールは要求を送信した後、バインドされたデータ ソースがデータを返すまで常に待機します。したがって、GUI が一時的にフリーズし、データが取得されるまでエンド ユーザーのアクションに応答しない場合があります。この機能を有効にするには、特別に設計されたデータ ソース ( eXpress Persistent Objects Libraryに同梱されているLinqServerModeSource、PLinqServerModeSource、EntityServerModeSourceまたはWcfServerModeSource ) を使用します。
- インスタント フィードバック モード(または非同期サーバー モード)。データ ソースに要求を送信した後、コントロールは待機せず、GUI をフリーズせず、ユーザー アクションに応答し続けます。したがって、データがバックグラウンド スレッドで取得されている間に、ユーザーはフォーム上のコントロール (並べ替え、データのフィルターとグループ化、列のサイズ変更など) やその他のコントロールを操作できます。この機能を有効にするには、特別に設計されたデータ ソース - LinqInstantFeedbackSource、PLinqInstantFeedbackSource、XPInstantFeedbackSource、EntityInstantFeedbackSourceまたはWcfInstantFeedbackSourceをeXpress Persistent Objects Libraryに同梱して使用します。
重要な注意:すべてのインスタント フィードバック ソースは読み取り専用のデータ ソースです。サーバー モードでのデータ編集を有効にするには、 AllowEditプロパティを true に設定してサーバー モード ソースを使用します。
PS。通常のデータ バインディング モードと同様に、サーバー モードでは、バインドされたコントロールを使用して、データの編集、並べ替え、グループ化、およびフィルター処理を行うことができます。サーバー モードの制限については、「サーバー モードの制限」を参照してください。
PPS 次の記事もご覧ください:データへのバインド
更新:
InstantFeedBack UI(tm) の実際の CPU 使用率 (ノートブック、Intel Core i5、2.67 GHc、8 GB RAM、NVIDIA GeeForce GT 425M、Win7x64):
合計 CPU 使用率は、WPF レンダリング サブシステムのパフォーマンス (wpfgfx_v0400.dll) のみに強く依存します。