根据列表项的值启用/禁用项目

时间:2014-07-06 07:45:36

标签: oracle oracleforms

我正在尝试编写一个listItem,它将包含2个值“New”和“Edit”。我也在同一个画布上有一个搜索(按钮)。我想在列表项中选择“新建”时禁用“搜索”按钮,并在列表项中选择“编辑”时启用它。

这是我的代码:我正在使用Oracle Forms 6i,WHEN_LIST_CHANGED Trigger ..

begin
    if :CONTROL.LI_DO='New' then
          go_item('PB_SEARCH');
          SET_ITEM_PROPERTY('PB_SEARCH',enabled,property_false);
    else if :CONTROL.LI_DO='Edit' then
          go_item('PB_SEARCH');
          SET_ITEM_PROPERTY('PB_SEARCH',enabled,property_true);
    end if;
    end if;
end;

感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

自从我做表格以来已经有一段时间了,但是你能否禁用当前焦点的项目?

即。导航(GO_ITEM)到另一个项目,然后尝试禁用PB_SEARCH。

答案 1 :(得分:0)

LI_DO.Functional."Elements in List" : New (value 0), Edit (value 1);
LI_DO.Data."Data Type" : Number;
LI_DO."Initial Value" : 1;
LI_DO.Required : "Yes";

遵守这些规定后,您可以使用以下代码进行" WHEN-LIST-CHANGED";

begin
    if :CONTROL.LI_DO = 0 then
        --go_item('PB_SEARCH');
          SET_ITEM_PROPERTY('PB_SEARCH',enabled,property_false);
    --else if :CONTROL.LI_DO = 1 then
    elsif :CONTROL.LI_DO = 1 then
        --go_item('PB_SEARCH');
          SET_ITEM_PROPERTY('PB_SEARCH',enabled,property_true);
    end if;
    --end if;
end;

答案 2 :(得分:-1)

您必须了解使用启用属性的概念。 以下博客以一个例子说明了这一点,清除了单独使用“启用”属性的误解。

Pls. follow the solution steps you should be familiar with the four required properties in co-ordinate with each together to enable and disable an item