C# 使用DomainCollectionView进行分组和分页

C# 使用DomainCollectionView进行分组和分页,c#,wcf-ria-services,silverlight-5.0,C#,Wcf Ria Services,Silverlight 5.0,我试图让分组和分页(在数据网格中)在RIA服务中同时工作。我已经有了一个非常复杂的用户控件,它基于优秀的DomainCollectionView。然而,我在分组工作中遇到了困难 我在示例中添加了这一行: this.CollectionView.GroupDescriptions.Add(new PropertyGroupDescription("Int32")); 关于示例的注意事项:我更改了Int32被分配为键%2的方式,因此应该有 两个结果组,每组应有数百个项目。分页设置为10项。没有在查

我试图让分组和分页(在数据网格中)在RIA服务中同时工作。我已经有了一个非常复杂的用户控件,它基于优秀的DomainCollectionView。然而,我在分组工作中遇到了困难

我在示例中添加了这一行:

this.CollectionView.GroupDescriptions.Add(new PropertyGroupDescription("Int32"));
关于示例的注意事项:我更改了Int32被分配为键%2的方式,因此应该有 两个结果组,每组应有数百个项目。分页设置为10项。没有在查询级别应用分组

因此,在本例中,我希望分组标题显示项目总数,但是,它只是“组0”,因为项目计数为10,这显然是不正确的。它仅在第一页显示项目计数

问题 分组和分页是否与DomainCollectionView一起工作


有关正确的上下文,请参阅关于该问题的文章并发布。

微软的凯尔·麦克莱伦(Kyle McClellan)回复了一封有关该问题的个人电子邮件,并在下面提供了详细的解释

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

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

2012年6月6日星期三晚上7:51,凯尔·麦克莱伦 写道:啊,现在我明白你的期望了。有两个 (竞争?)这里的事情在起作用。首先,客户端技术知道 服务器没有任何问题。它只看到本地存在的数据。 因此,控件等将报告只有一个 单个组,它只包含一页的数据。其次是 服务器技术可以查看所有数据,但只要求 返回一页。它对数据进行适当的排序和切片,并 然后返回它。它可以确定组的数量和大小 每个都有,但无法将其反馈给客户。
您看到的是视图按设计运行。它将显示 将组0中的所有项目置于组1中的所有项目之前。有时 在中间点,你会看到一个页面上的两个组,但在其他方面 结果将全部在同一组中