Oracle Apex动态操作未在真实条件下触发

时间:2019-11-12 17:29:13

标签: oracle-apex oracle-apex-19.1

我有一个包含两个交互式网格的页面。一个显示批准的记录。一个显示未批准的记录。每个网格下方都有一个带有处理按钮,用于将所选行分别设置为“已批准” /“未批准”。

我想根据用户是否为批准者来隐藏这些按钮。这些值存储在某些用户管理的表中。

我对页面加载有一个动态操作,该操作运行以下操作,并将页面项设置为1 / null,具体取决于返回值:

select 1 from users where upper(username) = upper(:APP_USER) and userrole = 'APPROVER'; 

基于页面项中的值,页面加载时会触发两个动态操作,以使用

设置按钮
  • True =显示
  • False =隐藏。
  • 客户端条件:项目=值:P1_PAGE_ITEM = 1

现在-在我的本地计算机上,它可以正常工作。我使页面项目可见。可以看到1或null,按钮被隐藏/显示。

我将其移至开发环境,现在每次单击该页面时都会收到有关未保存的更改的警告(在本地不发生)。而且尽管我在“页面项目”字段中看到1,但操作将其视为False(当设置为true / false时,我会发出警报)。

问题是:为什么我会在新环境中收到未保存的更改警告。以及为什么这些操作会将字段视为FAlse。

我已尽力比较了所有属性,它们似乎相同。我什至安排了两个环境中的序列号相同。

欢迎所有想法...

1 个答案:

答案 0 :(得分:2)

这不一定是要修改字段值的DA,因此是警报。

为什么不定义在渲染过程中执行的计算,并将其用作动态动作的服务器端条件?

否则,您已经启用了安全威胁,用户可以在其中调整一些HTML以查看您隐藏的区域。