【问题标题】:Adding custom comparator for integer sorting in Nattable在 Nattable 中为整数排序添加自定义比较器
【发布时间】:2017-10-31 01:59:57
【问题描述】:

我尝试对标头层进行排序,这对于文本效果很好,但不适用于整数和日期 - 所以我想为此创建一个自定义比较器。

【问题讨论】:

  • 你能发布一个最小的、完整的、可验证的代码示例吗?

标签: nattable


【解决方案1】:

首先对您的问题发表评论。数字和日期的排序在 NatTable 中工作得很好。事实上,所有Comparable 数据类型的排序与DefaultSortConfiguration 应用的DefaultComparator 一起工作得很好。但要使其正常工作,您需要注册相应的数据类型转换器,如各种 NatTable 示例中所示。如果没有转换器,NatTable 中的所有数据都被视为字符串,这会导致“不正确”的排序。

其次是您的问题。您可以像这样注册一个自定义比较器:

configRegistry.registerConfigAttribute(
    SortConfigAttributes.SORT_COMPARATOR,
    new MyCustomComparator(),
    DisplayMode.NORMAL,
    CUSTOM_COMPARATOR_LABEL);

所以你需要为配置属性SortConfigAttributes.SORT_COMPARATOR注册一个Comparator和一个相应的标签。

但如果您没有匹配的类型转换器,则需要比较字符串。所以恕我直言,您需要注册一个DisplayConverter,然后排序就可以按预期进行,而无需自定义比较器。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-11-04
  • 1970-01-01
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
相关资源
最近更新 更多