我正在尝试编写一个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;
感谢任何帮助。
答案 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)
您必须了解使用启用属性的概念。 以下博客以一个例子说明了这一点,清除了单独使用“启用”属性的误解。