我真正需要的是一个表格形式,它允许我一次更新多行,同时像交互式报告一样可过滤。任何机会这甚至是遥不可及的?
我还想劫持“删除”功能被激活时出现的表格表单上的行复选框,并使用它们来选择哪些行被分配给基于公共属性的组。(即我的表包含我库存中的零件,我需要能够将具有共同属性的零件分配给一个组进行处理)
也许是一个分组函数,它在“组”表中创建一个新行,该组作为 PK,分配给该组的部分作为列表或其他东西......?
想法?我有点不知所措...
我真正需要的是一个表格形式,它允许我一次更新多行,同时像交互式报告一样可过滤。任何机会这甚至是遥不可及的?
我还想劫持“删除”功能被激活时出现的表格表单上的行复选框,并使用它们来选择哪些行被分配给基于公共属性的组。(即我的表包含我库存中的零件,我需要能够将具有共同属性的零件分配给一个组进行处理)
也许是一个分组函数,它在“组”表中创建一个新行,该组作为 PK,分配给该组的部分作为列表或其他东西......?
想法?我有点不知所措...
这真的没那么难:) 您可以轻松地将 IR 转换为伪表格形式。尽管总是有更时尚和优雅的解决方案,但这些解决方案通常涉及大量的 javascript 和/或插件。他们很好,但当然并不总是你想要或需要的。
那么如何操作你的输出呢?使用APEX_ITEM api!
快速示例。我有一个建立在emp上的ir。我添加了一个复选框和文本框。
select empno, ename, deptno,
apex_item.checkbox(1, empno) empno_selected,
apex_item.text(2, ename, 10, 10) ename_edit
from emp
不要忘记:在列属性中,设置Display text as
为Standard Report Column
. 如果你不这样做,输出将是纯文本。由于apex_item
生成 html 代码,你当然不想要纯文本:)
现在,为了能够根据您在这些生成的字段中执行的操作执行 DML,您将需要一个流程。让我首先指出生成的项目存储在应用程序变量中,即存储在 APEX_APPLICATION 的数组中。注意复选框的行为:只有勾选的框才会将其值存储在数组中!
作为一个例子,我做了这个小On Submit process
(还在表单上添加一个SUBMIT
按钮来实际执行提交......)
for i in 1..apex_application.g_f01.count
loop
insert into empselected(empno, selectiondate, ename_changed)
values(apex_application.g_f01(i), sysdate, apex_application.g_f02(i));
end loop;
这将遍历勾选了复选框的记录,并将它们插入到某个表中。例如,我用 KING 勾选了该框并编辑了文本字段。请参阅第 2 条记录(1 来自先前的操作;))
不过,这还不是全部。您仍然会错过表格形式的功能及其流程,以及诸如乐观锁定之类的东西。如果您想继续使用表格形式,例如,您还可以查看此链接。这里也有一些关于编写自己的 mru 流程等的问题,比如这个 ;)
这是可能的,使用相同的表格形式。
例如,您需要按客户名称搜索:
WHERE lower(CUSTOMER_NAME) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
如果您需要搜索其他字段,只需在 where 子句中添加其他条件
WHERE (
lower(CUSTOMER_NAME) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
or lower(CUSTOMER_address) LIKE '%'||lower(nvl(:PXX_SEARCH,CUSOTOMER_NAME))||'%'
)
简单且使用相同的表格形式。