2009-11-14 16 views
5

私はいつものようにtableviewerを構築しますが、最初はソート用に定義された列に従ってすべての行を並べ替えません。最初の並べ替え順序を定義するTableViewerはデータに何の影響もありません

コード私が使用しています:

viewer.getTable().setSortColumn(viewer.getTable().getColumn(4)); 
viewer.getTable().setSortDirection(SWT.UP); 

を手動でのみ、列#4をクリックした後、私は正しい順序を取得し、それ以外の場合はViewContentProviderにリンクされているオブジェクトリストの正確「挿入順序」に続きます。助けてくれますか? Tnx

答えて

0

JFace APIにはソートオプションがあります。

私がthis articleを正しく理解していれば、そのソートサポートに基づいて必要なものについて説明します。

1

テーブルを更新するだけで済みます。

1

ちょうど同じ問題がありました。

使用時... tableViewer.setComparator(comparator) ...上記のコードは無視されます。

拡張ViewerComparatorで初期ソート列インデックスを手動で設定する必要があります。 Devalexの答えをオフに構築

0

は、次のことが私の仕事:

viewer.setContentProvider(...); 
viewer.setInput(...); 
viewer.setComparator(myComparator); 
myComparator.setColumn(colIndex); 
viewer.refresh(); 
関連する問題