Oracle apex 更改IR“;“主要报告”;标签

Oracle apex 更改IR“;“主要报告”;标签,oracle-apex,Oracle Apex,顶点4.1.1.00.23 我可以将IR默认报告标签从“1.主报告”更改吗 我发现了这段代码,它适用于页面加载,但在页面更改或选择其他保存的报告时,会更改回默认值 <script type="text/javascript"> $(document).ready(function() { changeIRText('1. Default'); }); // end of ready function function changeIRText(pTex

顶点4.1.1.00.23

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

我发现了这段代码,它适用于页面加载,但在页面更改或选择其他保存的报告时,会更改回默认值

<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>

$(文档).ready(函数(){
changeIRText('1.Default');
}); // 就绪功能结束
函数changeIRText(pText){
$('select#apexir_SAVED_REPORTS')。find('option')。每个(函数(索引,元素){
$(elem).text(函数(i,text){
返回text.replace('1.主报告',pText);
});//更改文本的结尾
});
}

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

$("#my_ir_report").bind("apexafterrefresh", function(){changeIRText('1. Default');});
页面属性中的代码 右键单击页面并选择编辑。
转到“Javascript”区域。

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

创建动态动作,键入Advanced。刷新后启动,并选择您的红外区域

动态操作属性:

在true操作中,选择executejavascript作为操作。输入你的密码。向导创建动态操作后,请返回“真实操作属性”,并确保选中“页面加载时触发”复选框!这将确保您的代码不仅在刷新报告时运行,而且在页面加载完成时运行,并保存创建另一个动态操作

真实操作属性:

结束时
不熟悉javascript是可以的,你会慢慢学会的。但一定要学习一些动态动作知识!不要在你的页面上塞满脚本标签,它们将更难维护,也更难记住它们是否在哪里


我问题中的代码放在哪里?你的一行代码去哪里了?谢谢@RMANExpress我编辑了我的答案,给出了两个示例,说明如何放置代码!谢谢很抱歉延迟回到这个问题,又有一场火灾要扑灭。“您还需要绑定到IR区域上的apexafterrefresh事件,或者创建一个动态操作”或者?仅使用“页面属性中的代码”解决方案,当选择另一个保存的报告时,“1.Default”报告标签将变回“Primary”。我添加了动态动作,现在它开始工作了。现在我添加了动态操作代码,我还需要页面属性中“页面加载时执行”中的代码吗?我删除了它,它正在工作。@RMANExpress我看到我在页面属性代码中犯了一个小错误:
apexafterrefresh
代码有一个小更改:将
changeirtext
函数包装在匿名函数中,然后它就工作了!事实上:或者。使用手动绑定到事件,或使用动态操作-尽管我建议使用动态操作,但您可以选择哪个。如果使用动态操作,实际上不需要“页面加载时执行”中的代码,因为这将在动态操作中处理!