使用DomainCollectionView进行分组和分页

时间:2012-05-24 17:40:25

标签: c# wcf-ria-services silverlight-5.0

我正在尝试将分组和分页(在数据网格中)同时在RIA服务中工作。我已经有一个非常精细的UserControl,它基于优秀的DomainCollectionView。但是,我在分组工作时遇到了麻烦。

我在样本中添加了这一行:

this.CollectionView.GroupDescriptions.Add(new PropertyGroupDescription("Int32"));
  

关于示例的注意事项:我更改了Int32如何被指定为键%2,所以应该有   两个结果组,每组应该有数百个项目。分页设置为10个项目。在查询级别不应用分组。

所以在这种情况下,我希望分组标题显示项目的总数,但是,它只是'组0',因为项目数为10,这显然是不正确的。它只显示第一页中的项目计数。

问题 是否使用或不使用DomainCollectionView进行分组和分页?

有关正确的背景信息,请参阅针对其发布的有关DomainCollectionViewthe sample的文章。

1 个答案:

答案 0 :(得分:0)

Microsoft的Kyle McClellan回复了有关此问题的个人电子邮件,并在下面提供了详细说明。

总之,分组和分页不能很好地协同工作 - 您肯定无法在DataGrid中获得全功能的分组体验。

对我来说,解决方案是在分组存在时删除分页。

  

2012年6月6日星期三下午7:51,Kyle McClellan   写道:啊,现在我明白了你的期望。那里有两个   (竞争?)这里发生的事情。首先,客户端技术知道   没有关于服务器。它只能看到本地存在的数据。   因此,控件等将报告只有一个   单个组,它只包含页面的数据。第二,   服务器技术可以看到所有数据,但只被要求   返回单页。它适当地对数据进行排序和切片   然后返回它。它可以确定组的数量和大小   每个,但没有办法将它传达给客户   您所看到的是视图按设计运行。它会显示出来   在组1中的所有项目之前,组0中的所有项目。在某些项目中   在中间点,您将在页面上看到两个组,否则   结果将全部在同一组中。