我有一个交互式报告和与之关联的表单。在使用表单创建新条目之后,我的最终用户希望将焦点放在交互式报表中的特定新条目上(这是很多次,现在他们需要向下滚动以查看新的条目)。
在更新报告行时,他们也需要相同的功能。
如何在 APEX 5.1 ?
中以正确的方式执行此操作答案 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)
有趣的问题,另一个解决方案:
代码:
var container = $('body'),
scrollTo = $('[data-anchor="'+$v('P3_ANCHOR')+'"]');
container.animate({
scrollTop: scrollTo.offset().top - $(document).scrollTop()
}, 2000);
答案 3 :(得分:0)
简单的解决方案: 对报告进行降序排序,以便最后创建的ID将成为IR中的第一个