【问题标题】:Custom Sort Comparer<T> Silverlight Datagrid自定义排序比较器<T> Silverlight Datagrid
【发布时间】:2012-05-29 00:36:34
【问题描述】:

我有一个 Silverlight Toolkit 数据网格,其中一列显示数值的文本表示。我想对列的基础数值进行排序,但将文本数据呈现给用户。网格列中的值采用如下格式:

  • A 类 (200-300)
  • 某类(100-200)
  • 又一个类别 (300-400)

由于这些值是文本的,因此网格在文本上正确排序,但是我有一个自定义比较器,它已经可以按数字类别对这些值进行排序,并希望将其插入网格。

网格单元绑定的数据对象仅具有文本表示(并且无法轻松添加数值)。因此,SortMemberPath= 在这种情况下不起作用。

是否可以为单个网格列注入自定义比较器并对其进行排序?或者也许用自定义比较器实现一个 CollectionViewSource?请记住,这是 Silverlight,而不是 WPF,因此与 WPF 相比,缺少某些字段/属性/类。

【问题讨论】:

    标签: silverlight xaml sorting datagrid


    【解决方案1】:

    我觉得实现这一点的最简单方法是向您绑定到网格的实体添加两个属性,一个是文本,另一个可以是数字,并且仅将一个绑定到网格列,其他可以在 SortMemberPath 中使用.如果您不想在实体中保留两个属性,则可以仅保留 Numeric 并使用转换器将其转换为文本和 SortMemberPath=NumericPropertyName。

    【讨论】:

    • 这就是我的想法——没有 SortComparer 逻辑,必须是数据对象中的一个属性。感谢您确认这一点:)
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 2011-05-10
    相关资源
    最近更新 更多