forms - 如何在 Oracle Forms Builder 中显示对话框 Canvas ?

标签 forms oracle plsql oracleforms

我构建了一个表单,用户可以在其中查看从表中提取的多行数据。用户可以选择一行,然后按下按钮拒绝该行中的数据(在某些状态字段中标记为拒绝)。

我还设计了一个拒绝确认对话框,用户可以输入一些评论或拒绝原因。

我已将对话框 Canvas 设置为显示在其自己的窗口上,并将“类型”属性设置为“对话框”。

当用户选择要拒绝的行时,执行的代码如下:

BEGIN
  GO_BLOCK('BLK_ALL_RECORDS');

  FIRST_RECORD;


    IF :FRM_ALL_ROWS.CHK_SELECT = 1 THEN
      :FRM_REJECTION.ID := :FRM_ALL_ROWS.ID;
        GO_BLOCK('BLK_REJECTION');
        SHOW_VIEW('CNV_REJECTION');
        EXIT;
     ELSE
         NEXT_RECORD;
     END IF;   

END;

拒绝表单有两个按钮,一个用于确认,一个用于取消。现在我们只关注取消按钮。以下是按下“取消”按钮后执行的代码:

:BLK_ALL_ROWS.CHK_SELECT := 0;  /* Forces removal of the check mark */
GO_BLOCK('BLK_ALL_RECORDS'); 
HIDE_VIEW('CNV_REJECTION');

唯一的问题是:一旦对话框表单出现,它就会隐藏父表单,直到表单被关闭。如何将对话框表单显示在父表单之上,并且它们都可见(以模态方式?)

最佳答案

不同 Canvas 之间的导航可能有点棘手。很难说没有表单在我面前有什么问题,但我应该做的第一件事是确保“主” Canvas 的“进入时提高” Canvas 属性设置为"is"。当您将光标移回 block “BLK_ALL_RECORDS”时,这应该会强制显示此 Canvas 。

另一种选择是在取消对话框逻辑中使用 SHOW_VIEW() 来强制显示主 Canvas 。

关于forms - 如何在 Oracle Forms Builder 中显示对话框 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13437837/

相关文章:

forms - 如何通过 ZF2 FormElementManager 将 Doctrine ObjectManager 传递给表单

jquery - 更改表单的 'action'

java - 使用 JAVA 将 Oracle 表数据插入语句

mysql - 为什么派生表在 Oracle 中是可更新的?

sql - 使用 Oracle SQL 连接同一列中的 2 个值

php - MySQL 数据库的默认字段值

javascript - 带有两个提交按钮执行两项不同操作的表单

Oracle PL/SQL 打印字符串的每个字母

plsql - 如何在 PL SQL 中检查解码函数内的 2 个表达式

oracle - 一个 Oracle 计划作业与另一个实例并行运行。如何防止这种情况?