정수 및 날짜가 아닌 텍스트에 대해 잘 작동하는 헤더 레이어를 정렬하려고 했으므로이를 위해 사용자 지정 비교 프로그램을 만들고 싶습니다.Nattable에서 정수 정렬을 위해 사용자 지정 비교기 추가하기
답변
먼저 문제에 대한 의견. 숫자와 날짜 정렬은 NatTable에서 꽤 잘 작동합니다. 실제로 모든 Comparable
데이터 유형의 정렬은 에 의해 적용되는 DefaultComparator
으로 올바르게 작동합니다. 그러나 올바르게 작동하게하려면 다양한 NatTable 예제에서와 같이 데이터 형식 변환기를 등록해야합니다. 변환기가 없으면 NatTable의 모든 데이터가 String으로 처리되므로 "잘못된"정렬이 발생합니다.
두 번째 질문. 이 같은 사용자 정의 비교를 등록 할 수 있습니다
configRegistry.registerConfigAttribute(
SortConfigAttributes.SORT_COMPARATOR,
new MyCustomComparator(),
DisplayMode.NORMAL,
CUSTOM_COMPARATOR_LABEL);
그래서 당신은 구성 속성 SortConfigAttributes.SORT_COMPARATOR
과에 따라 라벨에 대한 Comparator
을 등록해야합니다.
그러나 일치하는 형식 변환기가없는 경우 문자열을 비교해야합니다. 그래서 IMHO DisplayConverter
등록하고 사용자 지정 비교기 필요없이 의도대로 작동합니다.
어디에서 데이터 형식을 등록 할 수 있습니까? – jugal
NatTable의 대부분 구성으로 ConfigRegistry를 통해 IDisplayConverter를 등록하십시오. 자세한 정보는 문서를 참조하십시오 https://www.eclipse.org/nattable/documentation.php?page=editing –
헤더 레이어를 정렬하는 데 사용한 코드의 최소한의 완전하고 검증 가능한 예제를 게시 할 수 있습니까? – alex