7

さまざまなクエリパラメータに基づいてJSON形式でページングされたデータを提供するサーバー側APIがあります。ユーザーがクエリの結果をページングできるUIを提供したいと思います。

この種のインターフェイスを可能にするさまざまなコンポーネントパーツ、モデル/ビューモデルレバーのIPagedCollectionViewとICollectionView、およびUI内のDataPagerを認識しています。ただし、私が見たすべての例では、モデルまたはビューモデルに既にロードされているデータの上にページングを実装しています。

IPagedCollectionViewの実装をどこかで見つけたいと思っていました。ここでは、サーバーからデータの特定のページをフェッチし、メタデータ(合計ページなど)を提供する「fetcher」メソッドをプラグインするだけです。

IPagedCollectionViewおよびICollectionViewインターフェースに基づいてこれを自分で作成することもできますが、この問題に対する標準的な解決策がない場合は驚きます。

フレームワークのより適切な部分またはフレームワークを拡張するライブラリへのポインタをいただければ幸いです。

4

2 に答える 2

3

同じ質問があり、WCFRIAサービスSP1の一部である新しいDomainCollectionViewを使用して解決しました。どちらがRIAサービスを使用する必要があることを意味しますか、それがオプションかどうかはわかりません。

DomainCollectionView(目的のIPagedCollectionViewインターフェイスをすでに実装している)は、現在のページのデータをフェッチするために使用できるDomainCollectionViewLoaderと組み合わせて提供されます。

私にとって、KyleMcCellanによるこのブログ投稿は非常に役に立ちました。

http://blogs.msdn.com/b/kylemc/archive/2010/12/02/introducing-an-mvvm-friendly-domaindatasource-the-domaincollectionview.aspx

[更新]このブログ投稿も役立つかもしれません:

http://weblogs.asp.net/manishdalal/archive/2009/10/01/silverlight-3-custom-sorting-with-paging-support.aspx

これは、IPagedCollectionViewインターフェースのカスタム実装です。さまざまなデータソースからのデータを集約し、DomainCollectionViewが適用されなかった1つの場所で使用します。

于 2011-08-09T12:16:18.007 に答える
1

私が信じているjsonにフィードできるWCFデータサービスを試すことができます。効果的にページングされたクエリである「継続」のAPIがあります。これをラッパーとして使用するのは少し奇妙に感じるかもしれませんが、それを機能させることができると確信しています。

http://blogs.msdn.com/b/writingdata_services/archive/2011/02/25/getting-json-out-of-wcf-data-services.aspx

于 2011-08-09T12:15:16.803 に答える