我在silverlight中有一个网格控件。我为此控件设置了分页。数据从db填充。我正在尝试对所有列标题进行排序。但是排序会应用于特定页面而不适用于整个结果这个问题如何解决?任何建议都会有很大的帮助。
此致 PRI
答案 0 :(得分:1)
您可以为列提供显式IComparer实现,以及事件处理程序,以处理这两个问题。
处理标题上的点击事件以随心所欲地使用您的数据。 http://www.longhorncorner.com/UploadFile/nipuntomar/SortingDataSilverlightDataGrid09152008025951AM/SortingDataSilverlightDataGrid.aspx
利用ICollectionView IComparer实现来对HyperLink进行排序 http://msdn.microsoft.com/en-us/library/system.windows.data.listcollectionview.aspx
(超链接的文本是否完全相同,例如ClickMe?)
此外 - 由于Silverlight在客户端上运行,所有数据都被带到它(或者只是该页面的数据,并且分页将数据带到客户端)?例如,您使用的数据源是什么? RIA服务和DomainDataSource?或者您自己的服务电话?)
答案 1 :(得分:0)
您可能想要使用PagedCollectionView。 PagedCollectionView为您提供了大量开箱即用的功能而无需编写太多代码。您可以使用它来对数据进行排序,过滤数据,对数据进行分组。
以您喜欢的方式从服务器获取数据,并使用从服务器检索的对象集合创建PagedCollectionView,并使用PagedCollectionView绑定数据网格。
您可以通过添加SortDescriptions对数据进行排序。
MSDN中的示例对此进行了解释。特别是寻找排序部分。
希望这会有所帮助。