如何更改按钮标签文本并在运行时添加新功能?甲骨文表格
Posted
技术标签:
【中文标题】如何更改按钮标签文本并在运行时添加新功能?甲骨文表格【英文标题】:How to change the push button label text and add a new functionality in runtime? Oracle Forms 【发布时间】:2017-09-06 22:26:16 【问题描述】:我正在学习 Oracle 表单和报告,这次我想在一个按钮内编写一些功能。我添加了一个名为“Filter”的按钮,用于激活“enter_query”模式,以在项目级别使用“WHEN-BUTTON-PRESSED”触发器添加一些搜索条件,并在此触发器中添加代码。编码太容易了:
BEGIN
ENTER_QUERY;
END;
但是现在,我必须为这个按钮添加两个新功能:
1- 首先,当我编写一些搜索条件并按下名为“SEARCH”的第二个按钮以检索相关数据时,“过滤器”按钮必须重命名为“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" 以根据客户的需要多次启动新的搜索条件...
你有什么想法吗?谢谢。
【问题讨论】:
【参考方案1】:你可以编辑这个 sn-p :
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;
in when-button-pressed
项目的触发器 b_search
【讨论】:
先生,我尝试将此脚本添加到我的触发器中,我认为它会很好用,但我有一个问题。添加代码以仅检索查询的最后一条记录的最佳方法是什么?谢谢。 哦,我已经在我忘记的答案中编辑了“last_record”。顺便说一句,我认为您将检索整个记录集,而“last_record”仅代表转到网格的最后一行。我不明白你为什么只想看最后一个,请告诉我。 因为加入 smalll 软件公司是培训的一部分。稍后我将添加一个显示表单的屏幕截图,因为它不起作用,我认为我的问题表达得太错误了,如果我通过屏幕截图,人们可以理解我。感谢您的回复巴巴罗斯。我继续尝试。 您好,先生,我已阅读有关 Oracle Forms 内置插件和方法(如 GET_ITEM_PROPERTY 及其属性)的信息,它帮助我完成了测试。感谢您抽出时间多次回复。我会检查你的答案是否正确。再次感谢!以上是关于如何更改按钮标签文本并在运行时添加新功能?甲骨文表格的主要内容,如果未能解决你的问题,请参考以下文章