Oracle Apex重复相同选择时的值列表选择和按钮禁用

时间:2018-02-09 03:30:40

标签: oracle-apex-5

我有两个地区的互动报告。

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

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

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

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

第二次如何禁用流程?

并且只有在第一次输入四分之一的选择列表时才必须启用过程按钮(计算)。

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

enter image description here

因此,在下面的情况下,当选择列表为(Quarter is Q4:01/10/2017 to 31/12/2017)时启用计算按钮,这很好,并且必须允许第一次处理。

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

1

1 个答案:

答案 0 :(得分:0)

这是一个想法:

  • 创建(隐藏)页面文本项
  • 在按钮上使用动态操作
    • 将当前选择列表项的值与隐藏项的值进行比较(不要忘记NVL功能!)
    • 如果它们不匹配,将当前(选中)选择列表项目值放入隐藏项目中,以便在再次按下该按钮时检查它(即用户是否选择了相同的值)并提交< / LI>
    • 如果匹配,则不做任何事(不提交)

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