2016-10-05 2 views
-1

여러 개의 셀이있는 javafx 테이블 뷰가 있습니다. 정렬이 사용됩니다. 이제는 2 개의 문자열이있는 셀이 있지만 정렬 셀은 asc/desc 셀에있는 두 문자열 모두를 필터링합니다.javafx tableview 정렬 필터 문제

필터는 셀의 첫 번째 문자열에 적용, 그래서 문자열을 무시하도록 내가하고 싶다

2. 두 개의 서로 다른 변수는에 있기 때문에 내 정렬이 최대 메세지가 도착하기 때문이다

두 번째 것은 정렬에 필요하지 않지만 첫 번째 것은 필요합니다. 그러나 두 번째 문자열을 사용하기 때문에 정렬이 올바르지 않습니다.

이것이 가능합니까? 아니면 두 개의 분리 된 세포로 만들어야합니까?

답변

0

열에 비교기를 설정하기 만하면됩니다. 문자열 컬럼의 항목 유형을 가정 할 (그렇지 않은 경우는 적절하게 수정할 수 있습니다) :

myColumn.setComparator(Comparator.comparing(s -> { 
    int index = s.indexOf(" "); 
    if (index == -1) return s ; 
    return s.substring(0, index); 
})); 
+0

감사합니다,하지만의 아무것도를 포함하지 않는 것 : 그것은 더 같이 IndexOf 나 문자열이 없습니다 이여 D : – Raflesia

+0

@ 라플레시아 죄송합니다, 무슨 소리 요? 나는 그것이 문자열이라고 가정하고 말했다. 그래서's'는'String'이다. 물론'String'은'indexOf'와'substring' 메소드를 가지고 있습니다. –