如何保存并返回上一页中新创建的项目?

时间:2017-06-01 21:15:29

标签: oracle-apex oracle-apex-5 oracle-apex-5.1

我有一个交互式报告和与之关联的表单。在使用表单创建新条目之后,我的最终用户希望将焦点放在交互式报表中的特定新条目上(这是很多次,现在他们需要向下滚动以查看新的条目)。

在更新报告行时,他们也需要相同的功能。

如何在 APEX 5.1

中以正确的方式执行此操作

4 个答案:

答案 0 :(得分:0)

以下是 apex.oracle.com中基于EMP表的一个方法
使用编辑表单创建交互式报告。在我的情况下,这是第6页的报告和第7页的编辑。在第6页上创建一个hiden项目(P6_EMPNO)。在查询中添加大小写,所以在我的示例中,它看起来像:

select "ROWID", 
"EMPNO",
"ENAME",
"JOB",
"MGR",
"HIREDATE",
"SAL",
"COMM",
"DEPTNO"
from "#OWNER#"."EMP"
ORDER BY CASE WHEN EMPNO = :P6_EMPNO THEN 1 ELSE 2 END, EMPNO

我正在按EMPNO排序结果。
要提交的页面项目部分中选择 P6_EMPNO 。转到第7页,选择分支(转到第6页)并点击目标在设置项目部分,选择 P6_EMPNO ,然后选择目标 &安培; P7_EMPNO
现在,每次进入第7页,hiden项目的值将是第7页的EMPNO,它将在该区域的顶部显示。您可以使用jQuery突出显示该行,并在仅更改某些数据时添加一些验证来更新P6_EMPNO。
我希望这可以帮到你。

答案 1 :(得分:0)

容易。

您甚至不必创建任何其他页面项。更改您的表单DML,以便它返回到主键页项目持有者。然后在DML过程之后但在重置缓存过程之前创建一个进程。使用APEX_IR API重置IR页面上的分页,然后根据您将新PK返回到的主键页面项目设置交互式报表过滤器。查看文档以确切使用。

Apex_IR.reset_report重置报告分页并删除所有过滤器。

Apex_ir.add_filter将filter =添加到新主键

答案 2 :(得分:0)

有趣的问题,另一个解决方案:

  • 在报告页面中创建一个项目,例如 P3_ANCHOR
  • 添加 data-anchor ="#< YOUR_COLUMN_ID>#" 到您的报告链接属性 enter image description here
  • 配置您的表单页面,将创建/修改的商品ID返回到报告页面中的 P3_ANCHOR 项目。
  • 在报告页面上创建动态操作

enter image description here

  • 操作:执行Javascript代码
  • 代码:

    var container = $('body'),
        scrollTo = $('[data-anchor="'+$v('P3_ANCHOR')+'"]');
    
    container.animate({
        scrollTop: scrollTo.offset().top - $(document).scrollTop()
    }, 2000);
    

答案 3 :(得分:0)

简单的解决方案: 对报告进行降序排序,以便最后创建的ID将成为IR中的第一个