如何在Oracle Apex 18中动态设置模式对话框标题

时间:2019-06-19 02:26:07

标签: oracle-apex oracle-apex-5.1 oracle-apex-18.2

我想基于交互式元素动态设置模式对话框标题。

ex)在第50页中,我创建了一个交互式网格并在“标题”列上设置了链接,当用户单击标题列时,将出现一个模式对话框。 我想将该模式对话框的标题设置为title列的内容。

但是模式对话框的标题不会动态更改。 在这种情况下,如何动态应用标题?

我已经看到许多与此问题相关的解决方案,但是我无法解决问题。

2 个答案:

答案 0 :(得分:1)

比方说,您的模型页码是51。这是逐步测试[TESTED]来动态更改模型页标题的方法:

  1. 在模型页面中创建一个隐藏的项目,假设该隐藏的项目名称为P51_Title。
  2. 在交互式报表中->标题列链接->单击链接生成器框->设置值->将隐藏项作为P51_TITLE添加到名称下,并将值作为'#Title#'列(#ColumnName#)。
  3. 在模型第51页的静态区域标题(标题属性)中,将隐藏的项目值添加为&P51_TITLE。 (最后必须添加点。这是在项目名称之前和之后分别带有&和dot(。)的替换字符串)

保存两个页面并运行。当您单击标题列链接时,该链接将重定向到模型页面,并且标题数据将通过URL传递到会话中的隐藏项目,因此模型页面标题将根据报告中的标题数据自动更改。

答案 1 :(得分:0)

我做了dialogcreate js函数。
它将弹出页面标题移动到模式对话框标题。
因此,动态计算的标题&P51_TITLE。将自动应用。

$(document).on("dialogcreate", ".ui-dialog--apex", function(e) {
  var lDialog = $(this);
  lDialog.find('iframe').on('load',function () {
      lDialog.children(".ui-dialog-content")
      .dialog("option", "title", $(this.contentDocument).find('title').html());
  });
});

我非常失望,默认情况下,类似这样的东西(或任何其他解决方案)在顶点模态页面中不起作用!