6

实际上,我像往常一样构建了一个 tableviewer,但最初它不会根据为排序定义的列对所有行进行排序。

我正在使用的代码:

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

只有在手动单击第 4 列后,我才能获得正确的顺序,否则它完全遵循链接到 ViewContentProvider 的对象列表的“插入顺序”。请问你能帮我吗?肿瘤坏死因子

4

3 回答 3

1

您只需要刷新表格。

于 2013-01-24T13:22:00.957 回答
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 回答