【发布时间】:2020-06-23 10:44:46
【问题描述】:
我有一个交互式网格,我希望网格在顶部显示最新的日期记录。但是,Interactive Grid 不支持 SQL 中的 Order by。
有什么方法可以让我默认应用这些排序,而不是用户需要自己对这些报告进行排序?
另外,作为开发人员,我不想使用保存报告,因为我们的应用程序中有 400 多个报告。有没有可编程的方式来实现这一点?
【问题讨论】:
标签: oracle-apex oracle-apex-5.1
我有一个交互式网格,我希望网格在顶部显示最新的日期记录。但是,Interactive Grid 不支持 SQL 中的 Order by。
有什么方法可以让我默认应用这些排序,而不是用户需要自己对这些报告进行排序?
另外,作为开发人员,我不想使用保存报告,因为我们的应用程序中有 400 多个报告。有没有可编程的方式来实现这一点?
【问题讨论】:
标签: oracle-apex oracle-apex-5.1
手动,您可以:
以编程方式,您不能:
在 APEX 20.1 中,有一个可用的 PL/SQL API,APEX_IG。但目前它不包含您正在寻找的功能..
可能会在 APEX 的未来版本中添加新功能,但这是猜测,您现在肯定不能使用。
【讨论】:
您可以使用WITH 子句从 IG 中“隐藏”ORDER BY 子句。
假设您的选择是:
select emp_id, name, date from employees
如果你想在交互式网格的 SQL 中使用order by 子句,你只需将它复制到这个:
WITH my_sel AS
(SELECT emp_id, name, date
FROM employees
ORDER BY date DESC)
SELECT emp_id, name, date
FROM my_sel;
您可以找到更多示例here。
【讨论】:
按列排序:
01. Click the Actions menu, select Data, then Sort. The Sort dialog appears.
02. In the Sort dialog: Select a column, the sort direction (Ascending or Descending), and the null sorting behavior (Default, Nulls Always Last, or Nulls Always First).
a. Column - Select a column.
b. Direction - Select Descending or Ascending.
c. Nulls - Select First or Last.
03. To add another sort rule, click the Add button (+).
04. Click Save.
05. Click Report
06. Click Save
交互式网格重新加载。
注意:确保你是开发者模式登录,否则不显示其他用户
【讨论】: