如何添加用户控件来填充主 - 详细信息表单上的记录?

时间:2014-01-30 18:14:57

标签: forms oracle master-detail

请帮忙,Oracle表格专家!

我创建了一个主 - 详细信息表单,用户现在想要添加一个控件来填充它上面的记录 - 打开项目,关闭项目或所有项目。

我创建了一个新的数据块,它有一个Item(Radio_Group),并且布局了3个Radio Buttons OPEN,CLOSED&所有应该与表列匹配的值为'Sent1,Sent2,Sent3,已审核'为OPEN,'拒绝,拒绝'为CLOSED和ALL应涵盖这两者。

在Radio_Group Property_Pallete上,项目类型:无线电组;子类信息:RADIO_GROUP;其他价值的映射:开放; &安培;初始值:打开

3个收音机按钮,标签&单选按钮值相同:打开,关闭& ALL。

在WHEN-RADIO-CHANGED上,我写道:

IF :RADIO_DISPLAY.DISPLAY = 'OPEN' THEN

   SET_BLOCK_PROPERTY('CCR_MANAG_MAIN', DEFAULT_WHERE,
     'upper(ISG_STATUS) like ''SEN%'' or upper(ISG_STATUS) like ''%REVIEW''');
   GO_BLOCK('CCR_MANAG_MAIN');
   CLEAR_FORM('NO_VALIDATE');
   execute_query;

IFELS upper(:RADIO_DISPLAY.DISPLAY) = upper('CLOSED') THEN
    SET_BLOCK_PROPERTY('CCR_MANAG_MAIN', DEFAULT_WHERE
      ,'upper(ISG_STATUS) not like ''SEN%'' and upper(ISG_STATUS) not like ''%REVIEW''');
    GO_BLOCK('CCR_MANAG_MAIN');
    CLEAR_FORM('NO_VALIDATE');
    execute_query;

ELSE
    SET_BLOCK_PROPERTY('CCR_MANAG_MAIN', DEFAULT_WHERE,'');
    GO_BLOCK('CCR_MANAG_MAIN');
    CLEAR_FORM('NO_VALIDATE');
    execute_query;
END IF;

没有编译错误,但无线电按钮不起作用。我错过了什么?谢谢。

1 个答案:

答案 0 :(得分:0)

我相信你的CLEAR_FORM('NO_VALIDATE');将光标发送到控制块,然后在错误的块中执行execute_query。

尝试使用CLEAR_BLOCK('NO_VALIDATE');如果确实需要清除字段。