6

実際には、通常どおりテーブルビューアーを作成しますが、最初は、並べ替え用に定義された列に従ってすべての行を並べ替えるわけではありません。

私が使用しているコード:

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

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

4

3 に答える 3

1

Devalexの答えから構築すると、次のことがうまくいきました:

viewer.setContentProvider(...);
viewer.setInput(...);
viewer.setComparator(myComparator);
myComparator.setColumn(colIndex);
viewer.refresh();
于 2016-10-31T04:23:23.720 に答える
1

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

... ... を使用する場合 tableViewer.setComparator(comparator) 、上記のコードは無視されます。

拡張された ViewerComparator で、最初の並べ替え列のインデックスを手動で設定する必要があります。

于 2015-09-09T15:44:41.237 に答える
1

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

于 2013-01-24T13:22:00.957 に答える