这真的不那么难:)你可以很容易地将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。我首先指出生成的项目存储在应用程序变量namely in arrays in 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勾选了框并编辑了文本框。见记录NR 2(1是从上一个操作;))
这不是一路有尚未虽然。您仍然错过了表格形式的功能,它是流程,以及诸如乐观锁定之类的东西。如果你想保留表格形式,你也可以,例如,check out this link。在这里也有一些关于编写你自己的mru进程等的问题,like this one ;)
来源
2011-11-29 22:36:30
Tom
我会使用交互式报表功能的过滤来确定哪些部分具有公共属性,然后用户只需选中要添加到特定组的行的复选框。 – Spags