【问题标题】:Default Sort Order in Interactive Grid交互式网格中的默认排序顺序
【发布时间】:2020-06-23 10:44:46
【问题描述】:

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

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

另外,作为开发人员,我不想使用保存报告,因为我们的应用程序中有 400 多个报告。有没有可编程的方式来实现这一点?

【问题讨论】:

    标签: oracle-apex oracle-apex-5.1


    【解决方案1】:

    手动,您可以:

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

    以编程方式,您不能:

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

    可能会在 APEX 的未来版本中添加新功能,但这是猜测,您现在肯定不能使用。

    【讨论】:

    • 不是限制。但是要实现这一点,需要大量的重复工作。我想知道是否有一种可编程的方式来实现这一点,比如调用 JavaScript 函数或类似的东西。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      按列排序:

      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
      

      交互式网格重新加载。

      注意:确保你是开发者模式登录,否则不显示其他用户

      【讨论】:

      • 再读一遍问题,伙计。尤其是最后一行。我知道这种方法,但不适用于我的情况,因为我有 400 多个这样的报告。
      猜你喜欢
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多