交互式网格中的默认排序顺序

时间:2020-06-23 10:44:46

标签: oracle-apex oracle-apex-5.1

我有一个交互式网格,并且我希望网格在顶部显示最新的日期记录。但是,Interactive Grid在SQL中不支持Order by。

默认情况下,有什么方法可以应用这些排序,而不需要用户自己对这些报告进行排序?

此外,我不想将“保存报告”用作开发人员,因为我们的应用程序中有400多个报告。有可编程的方法可以实现这一点吗?

3 个答案:

答案 0 :(得分:0)

手动,您可以:

  • 打开Oracle APEX Builder,并确保您以开发人员身份登录
  • 在浏览器中使用“交互式网格”运行页面,并使用相同的凭据登录
  • 在一个(或多个)列上应用订单
  • 点击“操作”->“报告”->“保存”
  • 您应该看到确认“为所有用户保存的默认报告”

以编程方式,您不能:

在APEX 20.1中,有一个PL / SQL API,APEX_IG。但目前它不包含您要寻找的功能。

APEX的未来版本中可能会添加新功能,但这只是一个猜测,肯定不能立即使用。

答案 1 :(得分:0)

按列排序:

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

交互式网格将重新加载。

注意:为确保您处于登录开发人员模式,否则不会显示其他用户

答案 2 :(得分:0)

您可以使用 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