更改IR“主要报告”标签

时间:2012-10-05 14:58:03

标签: oracle-apex

Apex 4.1.1.00.23

我可以从“1.主要报告”中更改IR默认报告标签吗?

我找到了这段代码,它适用于页面加载,但在页面更改或其他已保存的报告被选中时更改回默认值。

<script type="text/javascript">
  $(document).ready(function() {
        changeIRText('1. Default');
    }); // end of ready function
  function changeIRText(pText){
        $('select#apexir_SAVED_REPORTS').find('option').each(function(index,elem) {
            $(elem).text(function(i, text) {
                        return text.replace('1. Primary Report', pText);
                }); // end of changing text
            });
}
</script>

1 个答案:

答案 0 :(得分:1)

当报表分页时,html源也会被替换。您还需要绑定到IR区域上的apexafterrefresh事件,或者创建一个动态操作,该操作将触发“After Refresh”框架事件,触发元素为IR区域。 您可以通过为IR分配静态ID来最好地实现手动绑定

$("#my_ir_report").bind("apexafterrefresh", function(){changeIRText('1. Default');});

页面属性中的代码

右键单击页面并选择编辑 转到“Javascript”区域。
javascript in page attributes

在动态动作中

将javascript函数放在页面属性中。这对代码可重用性很有用。但是,如果您不在动态操作之外使用它,请考虑将代码放在动态操作中。但是它的危害较小,因为当您看到动态操作并检查它运行的代码时,您会看到它调用了一个函数,并且您将知道它将在页面属性或外部javascript文件中。

创建动态操作,输入Advanded。刷新后启动,然后选择您的IR区域。

动态动作属性:
Dynamic action properties

在真实操作中,选择执行javascript作为操作。放入你的代码。当向导创建动态操作时,返回真实操作属性并确保选中“Fire on Page Load”复选框!这样可以确保不仅在刷新报表时运行代码,还可以在页面加载完成时运行,并保存创建另一个动态操作!

真实动作属性:
True action properties

结束
不熟悉javascript很好,随着时间的推移,你会接受它。但要做一些动态的动作知识!不要在你的页面上填写脚本标签,它们将更难维护,更难以记住它们的位置和位置!
Oracle tutorial on dynamic actions
Skillbuilders youtube tutorial on dynamic actions