2016-10-05 4 views
-1

私はいくつかのセルを持つjavafxテーブルビューを持っています。並べ替えが有効です。現在、私は2つの文字列を持つセルを持っていますが、そのセルの両方の文字列をasc/descで並べ替えます。javafxテーブルビューソートフィルタの問題

フィルタのみ、セルの最初の文字列に適用されますので、それは2つの異なる変数があるので、私のソートがアップメッセージが送られますので、これは2

文字列を無視するように、私はそれをしたいと思いセルのうち、2番目のセルはソートには必要ないが、最初のセルはソートされている。しかし、ソートは2番目の文字列を取るので正しくない。

これは可能ですか?それとも2つの別々の細胞にしなければならないのですか?

答えて

0

カラムにコンパレータを設定するだけです。 (そうでない場合、あなたはそれを適切に変更することができます)、列の項目タイプが文字列であると仮定すると:

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

ありがとうございましたが、Sは何が含まれていないようです:それはのindexOfも部分文字列を持っていないO D: – Raflesia

+0

@Raflesia申し訳ありませんが、どういう意味ですか?私はそれが文字列だと仮定して言ったので、 's'は' String'です。もちろん 'String'には' indexOf'と 'substring'メソッドがあります。 –

関連する問題