如何使用中的字母排序在 processSort() 之上

发布于 2024-10-12 21:01:21 字数 380 浏览 6 评论 0原文

我的应用程序有一个 af:table,它有一个名为 serverName 的伪列以及其他列。 (通过伪列,我的意思是 - 它只是一个 UI 列,它没有相应的 DB 列)。

为了排序,我们重写了 SortListener 的 processSort(sortColumn, sortOrder) 方法。

它的工作原理如下: 1)接收sortColumn并查询数据库 2)使用 orderBy 子句 3) 获取结果,然后显示在 UI 上

现在就我而言,由于我的列 (serverName) 没有对应的 DB 列,所以我想超越此方法并使用 ADF 默认的字母排序。 我该怎么做?

如果 sortColum 与 serverName 匹配,我尝试从该方法返回,但最终不会对任何内容进行排序。

My Application has an af:table and it has a psuedo-column named serverName along with other columns. (By psuedo-column, i mean - it is just a UI column, it doesn't have a corresponding DB column).

For sorting, we have overriden processSort(sortColumn, sortOrder) method of SortListener.

It works like this:
1) takes in sortColumn and queries the DB
2) using orderBy clause
3) fetches the results and then displays on UI

Now in my case, since my column (serverName) has no corresponding DB column, I want to surpass this method and use the default alphabetical sorting of ADF.
How do i do that?

I tried returning from this method if sortColum matches serverName, but that ends up in not sorting anything.

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

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

发布评论

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

评论(1

友欢 2024-10-19 21:01:21

使用 setSortBy() 方法。

请阅读 Fusion Developers 中的本节指导。

39.5.2 对内存中的视图对象行进行排序

要在运行时对视图对象中的行进行排序,请使用 setSortBy() 方法。您传递一个类似于 SQL ORDER BY 子句的排序表达式。但是,您可以使用视图对象的属性名称,而不是引用表的列名称。例如,对于包含名为 Customer 和 DaysOpen 的属性的视图对象,您可以首先按 Customer 降序对视图对象进行排序,然后按 DaysOpen 排序,方法是调用:

setSortBy("Customer desc, DaysOpen");
或者,您可以在排序子句中使用从零开始的属性索引位置,如下所示:

setSortBy("3 desc, 2");
调用 setSortBy() 方法后,下次调用 executeQuery() 方法时将对行进行排序。

Use the setSortBy() method.

Read this section in the Fusion Developers Guide.

39.5.2 Sorting View Object Rows In Memory

To sort the rows in a view object at runtime, use the setSortBy() method. You pass a sort expression that looks like a SQL ORDER BY clause. However, instead of referencing the column names of the table, you use the view object's attribute names. For example, for a view object containing attributes named Customer and DaysOpen, you could sort the view object first by Customer descending, then by DaysOpen by calling:

setSortBy("Customer desc, DaysOpen");
Alternatively, you can use the zero-based attribute index position in the sorting clause like this:

setSortBy("3 desc, 2");
After calling the setSortBy() method, the rows will be sorted the next time you call the executeQuery() method.

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