0

我有一个 Oracle APEX 经典报告,我想在弹出模式窗口中显示一个 Oracle APEX 页面(给定记录的详细信息)。

我想不惜一切代价避免使用插件。这可能吗?我正在使用 APEX 4.1。

塔马斯

4

1 回答 1

2

在您的报告上创建一个带有链接的列:

  • 链接文字:随心所欲
  • 目标:网址
  • 网址: javascript:openModal(#YOUR_ID#)

将以下 javascript 代码添加到您的 apex 页面(函数和全局变量声明),更改您要打开的弹出页面的正确 APP_ID、PAGE_ID 和 ITEM_NAME 的 URL:

function openModal(vId){
    var url = 'f?p=<APP_ID>:<APP_PAGE>:&SESSION.::NO:RP,62:P<APP_PAGE>_ID:'+vID;
    var $dialog = $('<div id="ModalFacPenDiv" style="overflow:auto;overflow-y: hidden;"> <iframe id="modalID" src="'+url+'" width="900px" height="260px" frameborder="no" style="overflow:auto;"></iframe></div>');
    $($dialog).dialog({ 
        open: function(event, ui){
            $(".ui-dialog-titlebar-close").hide(); },
        modal: true , 
        dialogClass: 'noTitle', 
        title: 'YOUR TITLE' , 
        width : 920 , 
        height: 380, 
        buttons: { 
            "Close": function(){ 
                window.parent.doSubmit('REFRESH');
                $(this).dialog("close");} },
        closeOnEscape: false });
}

您需要在Security Attributes > Browser Security上设置Embed in Frames允许允许来自同一来源(这个更好/更安全)。

我假设在弹出页面中,您有必要的过程来显示基于某个 ID 的信息。

希望能帮助到你。

于 2013-05-29T22:52:15.920 回答