Добавление пользовательского компаратора для целочисленной сортировки в Nattable
Я пробовал сортировать слои заголовка, что отлично работает для текста, но не для целых чисел и дат - поэтому я хочу создать для этого собственный компаратор.
1 ответ
Сначала комментарий по вашей проблеме. Сортировка чисел и дат в NatTable работает довольно хорошо. На самом деле сортировка всех Comparable
типы данных работают нормально с DefaultComparator
применяется DefaultSortConfiguration
, Но чтобы он работал правильно, вам нужно зарегистрировать соответствующие конвертеры типов данных, как показано в различных примерах NatTable. Без конвертера все данные в NatTable обрабатываются как String, что приводит к "неправильной" сортировке.
Второй на ваш вопрос. Вы можете зарегистрировать пользовательский компаратор следующим образом:
configRegistry.registerConfigAttribute(
SortConfigAttributes.SORT_COMPARATOR,
new MyCustomComparator(),
DisplayMode.NORMAL,
CUSTOM_COMPARATOR_LABEL);
Так что вам нужно зарегистрировать Comparator
для атрибута конфигурации SortConfigAttributes.SORT_COMPARATOR
и соответствующий ярлык.
Но если у вас нет подходящего конвертера типов, вам нужно сравнить строки. Так что ИМХО нужно зарегистрировать DisplayConverter
и сортировка работает по назначению без необходимости специального компаратора.