【问题标题】:How to sort in Oracle Apex 19.1 Interactive Grid如何在 Oracle Apex 19.1 交互式网格中排序
【发布时间】:2021-05-29 16:13:15
【问题描述】:

我在 18.c 平台上使用 Oracle Apex 19.1。 我有一个包含两个区域的页面:1)交互式网格和 2)交互式报告 我使用交互式网格来显示生产者名称列表。当用户选择其中一个名称时,交互式报表会刷新并显示分配给该 Producer 的事件。我使用动态操作来更新交互式报表。 这一切都很好,除了交互式网格中的列表。它似乎按表的 PRIM_KEY 顺序显示名称,我想按姓氏对交互式网格进行排序。 IG 的源代码不接受 Order By 子句。

Select ac.first_name || ' ' || ac.last_name PRODUCER 
From aff_contact ac, aff_contact_role acr
Where ac.prim_key = acr.contact_fkey
And acr.role = 'Producer'
;

问题是,IG 工具栏的操作/数据/排序中的列名永远不会填充。我想知道 Select 语句中的双列是否是问题所在,所以我用更简单的 Source 查询对其进行了测试:

Select last_name 
From aff_contact
;

这仍然没有生成用于排序的列。我收到如下屏幕:

列选择字段没有可下拉的内容。这适用于原始查询和简化查询。 如何让 IG 根据 LAST_NAME 字段进行排序?有没有其他方法可以实现这个目标? 感谢您查看此内容。

【问题讨论】:

    标签: oracle-apex


    【解决方案1】:

    经过进一步检查,宽度 = 100 的 VARCHAR2 列不可用于排序或控制中断。

    为了识别报告源中的字段,我使用了以下语法: cast( first_name as varchar2(32)) "FIRST_NAME", cast(last_name as varchar2(32)) "LAST_NAME"

    避免使用默认的列宽。

    【讨论】:

      【解决方案2】:

      按列排序:

      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
      

      交互式网格重新加载。

      注意:确保列排序处于活动状态。确保你登录的是开发者模式,否则不显示其他用户

      【讨论】:

        猜你喜欢
        • 2020-02-22
        • 1970-01-01
        • 2019-01-26
        • 1970-01-01
        • 1970-01-01
        • 2023-01-11
        • 2021-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多