2017-10-30 7 views
0

ヘッダーレイヤーをソートしようとしましたが、これはテキストでは正常に動作していますが、整数と日付では正しく動作しないため、カスタムコンパレータを作成します。Nattableで整数ソートのカスタムコンパレータを追加する

+0

ヘッダーレイヤの並べ替えに使用したコードの、完全で検証可能な最小限の例を投稿できますか? – alex

答えて

0

まず、あなたの問題に関するコメント。 NatTableでは、数値と日付のソートがかなりうまく機能しています。実際にすべてのComparableデータ型の並べ替えは、によって適用されたDefaultComparatorで正常に動作しています。しかし、正しく動作させるためには、さまざまなNatTableの例に示すように、データ型コンバータを登録する必要があります。コンバータがなければ、NatTableのすべてのデータは文字列として扱われ、結果として「不正な」ソートが発生します。

ご質問にお答えください。あなたは、このようなカスタムコンパレータを登録することができます。

configRegistry.registerConfigAttribute(
    SortConfigAttributes.SORT_COMPARATOR, 
    new MyCustomComparator(), 
    DisplayMode.NORMAL, 
    CUSTOM_COMPARATOR_LABEL); 

ですから、設定属性SortConfigAttributes.SORT_COMPARATORと応じてラベルにComparatorを登録する必要があります。

しかし、一致するタイプコンバータがない場合は、文字列を比較する必要があります。だからあなたはDisplayConverterを登録し、カスタムコンパレータを必要とせずに意図したようにソートする必要があります。

+0

ここでデータタイプを登録できますか? – jugal

+0

NisTableのほとんどの設定として、ConfigRegistry経由でIDisplayConverterを登録します。詳細は、ドキュメントをご覧くださいhttps://www.eclipse.org/nattable/documentation.php?page=editing –

関連する問題