在Nattable中为整数排序添加自定义比较器

时间:2017-10-30 04:13:10

标签: nattable

我尝试对标题图层进行排序,这对于Text而言并不适用于整数和日期 - 所以我想为此创建一个自定义比较器。

1 个答案:

答案 0 :(得分:0)

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

第二个问题。您可以注册这样的自定义比较器:

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

因此,您需要为配置属性Comparator和相应的标签注册SortConfigAttributes.SORT_COMPARATOR

但是如果你没有匹配的类型转换器,则需要比较字符串。所以恕我直言,您需要注册一个DisplayConverter,并且排序按预期工作,而无需自定义比较器。