Oracle 表单 : How to disable/enable certain blocks or fields in form by switching radio buttons?

标签 oracle oracleforms

我的 Oracle 表单中有三个单选按钮。理想情况下,选择一个选项将启用 block 1 并禁用 block 2 和 block 3。如何实现这一目标?全局变量?哪个触发器“监听”单选按钮的变化?

数据库是Oracle6i。

非常感谢任何帮助。

最佳答案

查看 WHEN-RADIO-CHANGED 触发器。

如果您已经为表单定义了单选按钮,您就知道单选组是您在表单上定义的字段,并且您可以根据需要为组定义任意数量的单选按钮。当您构建表单时,每个单选按钮都与一个特定值相关联。

当更改/选择单选按钮组中的其中一个单选按钮时,将触发 when-radio-changed 触发器。此时,根据按下的按钮,您将获得单选组的值。对按下的按钮执行您想要的操作。因此,在触发器中实现此功能的骨架 PL/SQL 结构可能是:

IF :radio_group = '1' THEN
  -- enable/disable as many properties as desired for the blocks
  SET_BLOCK_PROPERTY('block1',property_to_enable,PROPERTY_TRUE);
  SET_BLOCK_PROPERTY('block2',property_to_disable,PROPERTY_FALSE);
  SET_BLOCK_PROPERTY('block3',property_to_disable,PROPERTY_FALSE);
ELSIF :radio_group = '2' THEN
  ...
ELSIF :radio_group = '3' THEN
  ...
END IF;

关于Oracle 表单 : How to disable/enable certain blocks or fields in form by switching radio buttons?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10488384/

相关文章:

oracle - Oracle中mysql的Find_in_set的替代方案是什么

Java等待进程完成并将修改后的文件上传到数据库

database - Oracle 数据泵 impdp 到远程服务器

sql - Oracle 11.2.0.3.0 中带有 existsNode 的奇怪数字比较行为

linux - 如何在 Linux 中查找 Oracle Forms 编译器的版本

java - jpanel 与其他组件重叠

java - 无法使用 dll 注入(inject)和 JNI 通过 oracle 表单 GUI 对象附加

oracle - 如何获取 oracle 表单使用 Enter-query 操作生成的默认数据 block

sql - 根据两列的分组插入表格数据

oracle - 将 oracle 查询中的多列值分配给 Unix 中的多个变量