如何在 Oracle Apex 19.1 交互式网格中排序
How to sort in Oracle Apex 19.1 Interactive Grid
我在 18.c 平台上使用 Oracle Apex 19.1。
我有一个包含两个区域的页面:1) Interactive Grid 和 2) Interactive Report
我使用交互式网格来显示生产者名称列表。当用户 select 使用其中一个名称时,交互式报告会刷新并显示分配给该生产者的事件。我使用动态操作来更新交互式报告。
这一切都很好,除了交互式网格中的列表。它似乎按 table 的 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
;
仍然没有生成 select 的列进行排序。我收到如下所示的屏幕:
Column select 字段没有可下拉的内容。这对原始查询和简化查询都适用。
如何让 IG 根据 LAST_NAME 字段排序?还有另一种方法可以实现这个目标吗?
感谢您观看此内容。
进一步检查后,似乎可以选择宽度 <= 99 的 VARCHAR2 列作为排序或控制中断。宽度 >= 100 的 VARCHAR2 列在交互式网格中不可用于排序或控制中断。
为了识别报告来源中的字段,我使用了以下语法:
cast( first_name as varchar2(32)) "FIRST_NAME",
cast( last_name as varchar2(32)) "LAST_NAME"
避免默认列宽。
按列排序:
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
交互式网格重新加载。
注意:确保列排序活动。确保你是登录开发者模式,否则不显示其他用户
我在 18.c 平台上使用 Oracle Apex 19.1。 我有一个包含两个区域的页面:1) Interactive Grid 和 2) Interactive Report 我使用交互式网格来显示生产者名称列表。当用户 select 使用其中一个名称时,交互式报告会刷新并显示分配给该生产者的事件。我使用动态操作来更新交互式报告。 这一切都很好,除了交互式网格中的列表。它似乎按 table 的 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
;
仍然没有生成 select 的列进行排序。我收到如下所示的屏幕:
Column select 字段没有可下拉的内容。这对原始查询和简化查询都适用。 如何让 IG 根据 LAST_NAME 字段排序?还有另一种方法可以实现这个目标吗? 感谢您观看此内容。
进一步检查后,似乎可以选择宽度 <= 99 的 VARCHAR2 列作为排序或控制中断。宽度 >= 100 的 VARCHAR2 列在交互式网格中不可用于排序或控制中断。
为了识别报告来源中的字段,我使用了以下语法: cast( first_name as varchar2(32)) "FIRST_NAME", cast( last_name as varchar2(32)) "LAST_NAME"
避免默认列宽。
按列排序:
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
交互式网格重新加载。
注意:确保列排序活动。确保你是登录开发者模式,否则不显示其他用户