【问题标题】:Capture values of a shuttle list捕获穿梭列表的值
【发布时间】:2013-04-08 14:29:11
【问题描述】:

我正在使用 APex 4.2

我有一个包含班车列表的页面(第 31 页)。该列表包含几个工作类别(a、e、x、c 等)。我在该页面上有一个按钮,可以根据所选的工作类别生成报告。我单击按钮,查询运行,然后将我带到报告页面(第 27 页)。查询是这样的

select * from 'table'
where (instr(':'||:P31_JOB_CATEGORY||':',':'||JOB_CATEGORY||':') > 0)

其中 P31_JOB_CATEGORY 由穿梭列表表示。这给了我第 27 页所需的结果,但是,有没有办法捕获在第 31 页的穿梭列表中选择的每个选定的工作类别并将其传递到第 27 页以显示?最好将它存储在某种连接字符串中以便于处理,即 A、E、C、X。 任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • 我不明白。正如您使用绑定变量 :P31_JOB_CATEGORY 显示的那样,您可以在第 31 页获得穿梭列表的值。在报告的第 27 页上,您使用 P31_JOB_CATEGORY。究竟是什么问题,在第 27 页显示 :P31_JOB_CATEGORY 即可?
  • 是绑定变量。 :P31_JOB_CATEGORY 在我的 where 子句中的查询中。不确定如何从那里提取价值。但是,我已将穿梭列表值 P31_JOB_CATEGORY 传递给第 27 页上的变量。但它仅显示/传递穿梭列表中的一个类别。即,如果我在穿梭列表中选择 F、G 和 R,则只有 F 会传递到第 27 页。因此,我错过了一些东西

标签: list report oracle-apex


【解决方案1】:

原因在于如何将穿梭值保存到会话状态以及如何构造顶点 URL。
如您所见,穿梭值是通过用冒号连接选定值来构造的。例如,我在ENAME 上从EMP 上穿梭,选择3 个值并提交页面。穿梭的会话状态是:URUGUAY:HOWARD:M BENZ

现在假设您重定向到另一个页面,使用此穿梭项目的值设置项目。 URL 将如下所示:f?p=54687:6:100741653098795::NO::P6_TEXT:URUGUAY:HOWARD:M BENZ

顶点 URL 是使用冒号构造的。您将带有冒号的值放在那里根本不适用于顶点。
解决方案?您可以提交页面并使用计算来替换冒号,然后分支到目标页面。 例如,对于我的名字,我将冒号替换为 ~:URUGUAY~HOWARD~M BENZ。然后,在您的目标页面上,您可以使用此值并调整您的 sql 或使用 before/after 标头中的计算来再次替换分隔符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2015-01-16
    • 1970-01-01
    相关资源
    最近更新 更多