【问题标题】:Oracle Apex List of values selection and button disable upon repetition of same selectionOracle Apex 值选择列表和按钮在重复相同选择时禁用
【发布时间】:2018-02-09 03:30:40
【问题描述】:

我有一个包含两个区域的交互式报告。

第一个区域是静态区域,带有一个选择列表和一个提交流程的按钮。

第二个区域是报表区域,它根据第一个区域选择列表值和提交的处理(计算)按钮刷新区域。

但是,如果我随后尝试提交相同的项目(值列表),则必须禁用进程按钮。 (即)任何重复相同的值列表,一旦执行计算或处理,必须禁用计算按钮,这些都基于前端的输入选择。

请注意,选择列表按钮(页面项)和第二个区域列之间没有任何直接关系,我无法通过在数据库级别区分它是否已处理或未处理来实现它,因为数据库中没有维护任何列表(在本例中是处理年份的第二个区域)。

如何才能第二次禁用进程?

仅当第一次输入季度选择列表时,必须启用流程按钮(计算)。

如果启用了计算按钮并调用了进程,则通过将列 this_year_q1 交换为 last_year_q1last_year_q1year_before_last_year_q1 等来填充/刷新第二个区域值。

所以在下面的情况下,选择列表是(Quarter is Q4:01/10/2017 to 31/12/2017)时启用计算按钮,这很好,必须首次允许过程。

相同值的后续重选不得允许进程计算。

1

【问题讨论】:

    标签: oracle-apex-5


    【解决方案1】:

    这是一个想法:

    • 创建一个(隐藏的)页面文本项
    • 在按钮上使用动态操作
      • 比较当前 Select List 项的值与隐藏项的值(不要忘记 NVL 功能!)
      • 如果它们不匹配,请将当前(选定的)选择列表项值放入隐藏项,以便再次按下按钮时可以检查它(即用户是否选择了相同的值)并提交
      • 如果匹配,则什么都不做(不要提交)

    如果您不想为后续执行以及会话期间运行两次报告,则必须将选定的值存储在某处(表格?)。其余部分相同 - 您只需从该表中进行选择,并将 Select List 的值与已使用的值进行比较。

    【讨论】:

    • 感谢隐藏物品提示。我正在寻找在会话期间第二次禁用的按钮,如果它已在值列表中使用过一次,以及当我稍后运行它时,当我退出会话并稍后运行它时,这不能没有像全局变量一样存储在表中,或者像数组一样存储在应用程序项中
    猜你喜欢
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    相关资源
    最近更新 更多