如何使用表查看器在 SWT 表中强制排序

发布于 2024-12-23 02:04:00 字数 595 浏览 1 评论 0原文

我想对 SWT 表列进行第一次排序。 我有一个带有 TableViewer 的表,我想在 setInput 方法之后或之前以编程方式排序。

这些列是动态生成的,最后一个是平均列。 有没有办法按程序排序?

我只使用这行代码:

        columnPromEcr = new TableColumn(table, SWT.RIGHT);      
        columnPromEcr.setText("Prom. ECR");
        columnPromEcr.pack();
        columnPromEcr.setResizable(true);
        this.table.setSortColumn(columnPromEcr);

在 setInput 方法之后我调用:

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

我需要一个 ViewerSorter 类吗?

我不需要用户干预,我的数据是无序的,在创建动态列后,我希望程序使用该信息、数字数据对表进行排序。

I want to sort, only for the first time, a SWT Table column.
I have a Table with their TableViewer and I want to Sort programmaticaly after or before setInput Method.

The columns are dynamically generated, and the last ones is an average column.
Is there any way of Sorting by program?

I'm using only this line of code:

        columnPromEcr = new TableColumn(table, SWT.RIGHT);      
        columnPromEcr.setText("Prom. ECR");
        columnPromEcr.pack();
        columnPromEcr.setResizable(true);
        this.table.setSortColumn(columnPromEcr);

After setInput method I call:

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

Do I need a class ViewerSorter?

I don't need user intervention, my data came unordered, and after creating a dynamic column I want the program to order the table with that info, numeric data.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

亚希 2024-12-30 02:04:00

如果您只想在显示项目之前对其进行排序,则不需要 ViewerSorter。使用 比较器Collections.sort()

You don't need ViewerSorter if you only want to sort items before they are displayed. Use Comparator and Collections.sort().

痴意少年 2024-12-30 02:04:00

是的,使用 ViewerSorter,它将始终保持 TableViewer 的顺序。

Yes, use a ViewerSorter, it will keep the TableViewer in order all the time.

回梦 2024-12-30 02:04:00

如果你想要默认的排序行为(整数,字符串简单比较),你可以设置排序器:

viewer.setSorter(new ViewerSorter());

并且查看器将一直排序(例如删除、添加数据后)

If u want the default behavior for sorting(integer,string simple comparison) you can just set the sorter:

viewer.setSorter(new ViewerSorter());

and the viewer will be sorted all the time (e.g. after deletions,additions of data)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文