2011-12-26 14 views
0

SWTテーブルの列を初めてソートするだけです。 私はTableViewerを持つテーブルを持っており、setInputメソッドの前または前にprogrammaticalyをソートしたいと思います。SWTテーブルでテーブルの並べ替えを強制的に行う方法

列は動的に生成され、最後の列は平均列です。 プログラムでソートする方法はありますか?

私は、コードの唯一の行を使用しています:

setInputメソッドの後、私は呼ん:

// refresh table 
tableViewer.refresh(); 
table.setRedraw(true); 

私はクラスViewerSorterが必要ですか?

私はユーザーの介入は必要ありません。私のデータは順序どおりではなく、動的な列を作成した後、その情報、数値データでテーブルを注文する必要があります。

答えて

1

表示する前に項目を並べ替えるだけの場合は、ViewerSorterは必要ありません。 ComparatorCollections.sort()を使用してください。

0

はい、ViewerSorterを使用すると、TableViewerが常に順番に保持されます。

+0

viewerSorterは1つの列にのみ適用できますか? ViewerSorterがパラメータとして受け取るオブジェクト(e1とe2)の属性ではないため、最後の列(AVG)に問題があると思います。 – Nicolas400

+0

ビューアの要素だけを扱うので、列に固有のものではありません。 ViewerSorterでAVGを計算するか、HashSetに格納するなど、必要に応じてAVGを取得する必要があります。 –

+0

私はLabelProviderのロジックを複製する必要がありますので、2回休止することができます:(。メモリ内のデータをソートすることができたら大好きです – Nicolas400

0

uは(整数、文字列の単純な比較)をソートするためのデフォルトの動作をしたい場合は、単にソーター設定することができます。

viewer.setSorter(new ViewerSorter()); 

をし、視聴者が、例えば、欠失後(データの追加をすべての時間をソートされます)

関連する問題