如何更改按钮标签文本并在运行时添加新功能?甲骨文表格

How to change the push button label text and add a new functionality in runtime? Oracle Forms

我正在学习 Oracle Forms and Reports,这次我想在一个按钮中编写一些功能。我添加了一个名为 "Filter" 的按钮以激活 "enter_query" 模式,以在项目级别使用 "WHEN-BUTTON-PRESSED" 触发器添加一些搜索条件并在此触发器中添加代码。编码太容易了:

BEGIN 
  ENTER_QUERY; 
END; 

但是现在,我必须向这个按钮添加两个新功能:

1- 首先,当我编写一些搜索条件并按下名为 "SEARCH" 的第二个按钮以检索与按钮 "filter" 相关的数据时,必须重命名为 "LAST RECORD" 并且如果我按 "LAST RECORD" 按钮,表单应该只检索 las 搜索检索到的最后一条记录。我想过我应该如何解决这个问题,我尝试添加 SET_ITEM_PROPERTY 来触发,但它无法正常工作。

BEGIN 
   ENTER_QUERY; 
   SET_ITEM_PROPERTY('BLOCK_NAME', LABEL, 'LAST RECORD'); 
   LAST_RECORD;
END;

2- 最后,按下 "LAST RECORD" 按钮后,它应该重命名为 "CANCEL" 如果我再按一次这个按钮,它应该清除表格并重新开始第一个名为 "FILTER" 的位置可以根据客户的意愿开始新的搜索条件...

你有什么想法吗?谢谢

您可以编辑此 片段 :

begin 
     if ( :system.mode = 'ENTER-QUERY' ) then
           set_item_property('b_search', label, 'search'); 
           go_block('blk_yours');
           execute_query;    
     else
           set_item_property('b_search', label, 'last record');         
           go_block('blk_yours');    
           enter_query;
     end if;    
           last_record;
end;

when-button-pressed 触发项 b_search