如何更改文本框/选择列表/中的值(在图表的pl / sql语句中用作参数?)后,如何使APEX刷新图表(图形)?
我希望它看起来尽可能专业,并尽量减少必须刷新的页面部分(即&#34; ajax-like&#34;,这是2018年的标准)。< / p>
答案 0 :(得分:0)
请参阅下面的方法B,以获得最佳解决方案。
接近A
最简单的选项(不太专业)是当文本框/选择列表/ etc的值发生变化时,修改submit the page
感兴趣的每个文本框/选择列表/等。例如,对于选择列表,请转到其settings
- &gt; page action on selection
并将设置更改为submit page
。
这种方法有两个主要缺点:
大部分页面都会刷新,这对您的用户来说很不利,
如果你正在使用插件,或者你使用的item
类型不支持这种方法,那么你就不走运了。
方法B
更复杂的解决方案随之产生更专业的结果。这个解决方案涉及动态操作,我在这里可能没有完全解释。但是,该信息应足以让用户弄明白。
让我们假设您有两件事:(1)select list
,其值在(2)chart
的sql源语句中用作参数。
要在每次通过chart
做出新选择时更新select list
,您需要:
为感兴趣的select list
创建动态操作。您可以通过单击选择列表,转到动态操作选项卡(闪电)来完成此操作;右键单击该项目;点击选择动态动作;为其命名并将event
设置为change
并将selection type
设为item
,并将item
设置为select list
的名称你在看。
为true action
的动态操作创建executes pl/sql code
(您可以通过修改默认情况下在1中创建的show
操作来执行此操作)。将pl / sql代码设置为null;
。然后在items to submit
下,指定感兴趣的select list
的名称。
创建第二个true action
,refreshes
包含region
的{{1}}。
您需要确保分配给2.的序列的编号小于分配给3的序列。默认情况下会发生这种情况,但这是一个可以绊倒的区域。
不适用的方法C
在Apex 5.something中,他们添加了一个名为 Cascading List of Values 的功能。此功能允许您指定一个项目依赖于另一个项目的值。例如,如果您有chart
允许用户选择一个部门,然后您有第二个select list
,您可以从所选部门中选择一个员工(可能从中获取其值一个涉及在第一个select list
中选择的值的查询,您可以告诉APEX每当您更新第一个时都刷新第二个select list
。
您可以通过编辑第二个select list
来执行此操作。在其设置下转到select list
- &gt; list of values
。将第一个cascading LOV parent item(s)
添加为“反向”依赖(又称“父”)。这将确保在第一个select list
更新时,第二个select list
也会更新。
无论好坏,图表都没有select list
设置。因此,此解决方案不适用于此问题。
答案 1 :(得分:0)
创建一个真实的动作并选择pl / sql并写入
开始 空值; 端;
在要提交的页面项目中选择您的项目