gpt4 book ai didi

javascript - 需要在 Javascript URL 中获取 IR 报告 ID,这会在 Oracle Apex 5.1 中打开浏览器窗口

转载 作者:行者123 更新时间:2023-11-30 20:05:51 25 4
gpt4 key购买 nike

我正在尝试将我的应用程序从 Apex 4.2 迁移到 Apex 5.1

我将尝试描述完整的用例:

我有一个报告页面,其中每条记录都有一个链接,它会打开一个对话框窗口,用户可以在其中编辑记录/与记录进行交互。

对话框有上一个/下一个按钮,允许用户浏览记录。

在报表上设置过滤器时,对话框窗口应在下一个/上一个行为中考虑到这一点。

例如如果报表筛选器仅选择一行,则对话框窗口的下一个/上一个按钮将被禁用,因为报表显示的行不再需要导航。

在 Apex 4.1 中,我们通过传递交互式报告的 ID(通过 URL 在 Javascript 中)来实现这一点,然后页面进程使用它来查询后端的 Application Express View 以识别当前设置过滤并使用该信息生成一个 WHERE 子句,然后将其传递给“获取下一个或上一个主键”过程。

现在在 Apex 5 中我们无法执行此操作,因为我们不知道 IR 的 ID,而且我们不确定是否可以用相同的方式查询元数据 View 。

我很高兴知道在 Apex 5 中获得相同行为的最佳方法是什么。

v_url = 'f?p=' + pAPP_ID + ':' + pPageNo + ':' + pAPP_SESSION + '::::' + pKeyColumn + ',' + pIRReportID + ',' + pModeColumn + ':' + pKeyValue + ',' + $v('apexir_REPORT_ID') + ',' + pMode;

在此先感谢您的帮助。

最佳答案

我不知道为什么你需要在另一个页面上有交互式报告 ID。这项工作是否需要在许多页面上进行或仅在这一页上进行?如果仅在此处,您可以为此报告设置一个静态 ID,并直接在您的 URL 中使用定义的 ID(下图)。

enter image description here

不确定,但据我所知……在旧版本的 apex 中,每页只允许一个交互式报告。

因此您可以从隐藏字段“apexir_REPORT_ID”中获取页面上此报告的 ID。

但是,在 APEX5 中,他们允许每页有多个交互式报告,因此该字段在一个页面上的所有交互式报告中不能相同……因为它们对于每个交互式报告都应该不同。

因为这个(只是假设)......他们改变了你访问页面上某个交互式报告的 ID 的方式。如果您没有设置报表的静态 ID,这个隐藏字段在您的 HTML 中将如下所示:

enter image description here

但是如果您设置了 ID,隐藏字段将如下所示: enter image description here

在这种情况下,要在值属性中获取该数字,您可以这样做:

$v('YOUR_ID_HERE_report_id')
//or
apex.item('YOUR_ID_HERE_report_id').getValue()

您可以随时使用此选择找到该数字

 select region_id from apex_application_page_regions
where
application_id = :APP_ID AND
page_id = :APP_PAGE_ID AND
UPPER(region_name) = UPPER(v_region_name);

关于javascript - 需要在 Javascript URL 中获取 IR 报告 ID,这会在 Oracle Apex 5.1 中打开浏览器窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52942039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com