在运行时将初始值设置为数据块列

时间:2015-03-30 08:48:25

标签: oracle oracle11g oracleforms

如果按下F6键(新行),如何将数据块中的初始值设置为数据块中的列,如果取消新行,则清除此值?

Combobox有WHEN-LIST-CHANGED触发器:

declare
where_param varchar2(250);
begin
    :LOCAL.CUR_CUSNUM := :LOCAL.ORG_LIST;
    if :LOCAL.CUR_CUSNUM is not null then
        :LOCAL.WHERE_STRING := 'CUSNUM = ' || :LOCAL.CUR_CUSNUM;
    else
        :LOCAL.WHERE_STRING := '1=1';
    end if;
    Set_Block_Property('MC_ZVP_PL_TRUSTED_PEOPLE_CORP', DEFAULT_WHERE, :LOCAL.WHERE_STRING);
    Go_Block('MC_ZVP_PL_TRUSTED_PEOPLE_CORP');
    --Clear_Block('MC_ZVP_PL_TRUSTED_PEOPLE_CORP');
    Execute_Query; 
end;

我需要根据组合框中选定的元素设置初始值,或者从用户隐藏的组合框中插入值的行。

enter image description here

1 个答案:

答案 0 :(得分:1)

在MC_ZVP_PL_TRUSTED_PEOPLE_CORP块上使用WHEN-CREATE-RECORD触发器