在apexrefresh期间/之后刷新区域的项目

时间:2012-07-26 10:28:20

标签: oracle-apex

我有一个报告区域,我通过jQuery刷新。我在区域页脚中有以下代码来设置刷新过程:

<script type="text/javascript">
var refreshId = setInterval(function(){ apex.jQuery('##REGION_ID#').trigger('apexrefresh');
}, 5000);
</script>

此操作正常,报告数据每5秒刷新一次。但是,该区域还包含一个Item,其源值通过SQL查询确定。我希望每次报表区域数据刷新时刷新此值,但触发刷新不会执行此操作。

仔细观察,报告区域div似乎不包含项目HTML,因此在刷新期间换出的DOM部分不包含该项目。该项目显示在名为apex_layout_#REGION_ID#的兄弟表节点中:

<div class="rc-content-main">
    <table id="apex_layout_7017903473906209" class="formlayout" border="0" summary="">
    <div id="report_7017903473906209_catch">
    <script type="text/javascript">
</div>

我尝试在项目ID中传递额外的.trigger()来代替#REGION_ID#,但令人困惑的是,它会对报告数据进行完全相同的刷新。我还尝试设置一个动态动作来触发将刷新Item的区域上的“After Refresh”,但这也有点奇怪 - 它会立即触发重复的AJAX调用并且不会更改项目值。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

您无法使用apexrefresh事件刷新项目。通过动态操作,您处于正确的轨道上:您需要“手动”检索新值。

您是否可以详细说明如何为项目设置“后刷新” - 触发动态动作?它是否具有“设置值”与“sql语句”的真实动作?你检查过ajax电话了吗?有错误吗?电话一直在重复吗?此外,检查会话状态(通过底部开发人员栏上的“会话”按钮访问),并查看其中的值是否已更改。