我尝试对标题图层进行排序,这对于Text而言并不适用于整数和日期 - 所以我想为此创建一个自定义比较器。
答案 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
,并且排序按预期工作,而无需自定义比较器。