7

我有一个服务器端 API,它根据各种查询参数以 JSON 格式提供分页数据。我想提供一个 UI,允许用户对查询结果进行分页。

我知道允许这种接口的各种组件部分,模型/视图模型杠杆上的 IPagedCollectionView 和 ICollectionView 以及 UI 内的 DataPager。然而,我看到的所有示例都在已经加载到模型或视图模型中的数据之上实现了分页。

我希望在某个地方找到一个 IPagedCollectionView 实现,您可以在其中简单地插入从服务器获取给定数据页面的“提取器”方法,并提供一些元数据(总页面等......)

我可以根据 IPagedCollectionView 和 ICollectionView 接口自己编写这个,但如果这个问题没有标准的解决方案,我会感到惊讶。

任何指向框架的更合适部分或扩展框架的库的任何指针都将不胜感激!

4

2 回答 2

3

我们有同样的问题,我们解决了新的 DomainCollectionView,它是 WCF RIA Services SP1 的一部分。这意味着您必须使用 RIA 服务,不知道这是否是一个选项。

DomainCollectionView(已经实现了所需的 IPagedCollectionView 接口)与 DomainCollectionViewLoader 结合使用,可用于获取当前页面的数据。

对我来说,Kyle McCellan 的这篇博文非常有帮助:

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 不适用。

于 2011-08-09T12:16:18.007 回答
1

您可以尝试 WCF 数据服务,我相信它可以提供 json。它有一个用于有效分页查询的“延续”的 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 回答