【问题标题】:Sorting Data using Silver light Data Grid control使用 Silver light Data Grid 控件对数据进行排序
【发布时间】:2010-01-26 17:58:08
【问题描述】:

我在 silverlight 中有一个网格控件。我为此控件设置了分页。数据是从 db 填充的。我正在尝试对所有列标题进行排序。但是排序应用于特定页面并且不适用于整个结果设置。如何解决此问题?任何建议都会有很大帮助。

问候, 普里

【问题讨论】:

  • 除此之外,我正在为其中一列使用超链接按钮,这根本没有排序。您也可以帮忙吗?
  • 您如何将数据传输到 silverlight 应用程序?是通过 WCF 服务还是 RIA 服务或任何专有技术?
  • 嗨,我正在使用 WCF 服务获取它。感谢您的所有回复。当我们使用 DataGridTemplateColumn 时,我们如何在 header 标签中取悦 hylinkbutton?我们将超链接按钮放在 header 中,因此指示 asc/desc 排序的内置箭头控件丢失。如果在标题中放置超链接按钮,我们如何在标题中显示“箭头”?

标签: silverlight


【解决方案1】:

您可以为列提供显式 IComparer 实现以及事件处理程序,以处理这两个问题。

处理标题上的点击事件,以随心所欲地处理您的数据。 http://www.longhorncorner.com/UploadFile/nipuntomar/SortingDataSilverlightDataGrid09152008025951AM/SortingDataSilverlightDataGrid.aspx

并利用 ICollectionView IComparer 实现对超链接进行排序 http://msdn.microsoft.com/en-us/library/system.windows.data.listcollectionview.aspx

(超链接的文本是否都一样,例如 ClickMe ?)

另外 - 由于 Silverlight 在客户端上运行,是否已将所有数据带到它(或只是该页面的数据,并且分页将数据带到客户端)?例如,您使用什么数据源? RIA 服务和 DomainDataSource?还是您自己的服务调用?)

【讨论】:

    【解决方案2】:

    您可能想要使用 PagedCollectionView。 PagedCollectionView 为您提供了很多开箱即用的功能,无需编写太多代码。您可以使用它对数据进行排序、过滤数据、对数据进行分组。

    以您喜欢的方式从服务器获取数据,并使用从服务器检索的对象集合创建一个 PagedCollectionView,并将数据网格与 PagedCollectionView 绑定。

    您可以通过添加 SortDescriptions 对数据进行排序。

    MSDN 有例子解释。特别是寻找排序部分。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多