概述
Oracle Form Folder 功能个人认为是一个非常人性化的设计, 用户可以根据不同的需求, 将页面的资料栏的位置, 显示与否重新设定, 也因此, 在二次开发中, 此功能也被视为一种基本需求.
Folder主要分为两种型式, 列表式和表单类, 列表式比效常用, 本文将只介绍列表式的开发:
1 | 从STANDARD这支程式中,将STANDARD_FOLDER对像组继承过来。 |
2 | 手工新增一个PROMPTS数据块。 |
3 | 在PROMPTS块中新增DISPLAY_ITEM,Name属性与对应的字段名称一样,Subclass Information为 FOLDER_PROMPT_MULTIROW,由STANDARD.fmb继承的属性。此ITEM为界面上栏位名,所以ITEM_NAME 属性要和对应的字段名称一样。有多少个栏位,创建多少了FOLDER_PROMAT_MULTIROW的ITEM。 |
4 | 建立三个ORDER_BY Button,Subclass Informaction为FOLDER_ORDERBY。由STANDARD.fmb继承的属性。 ORDER_BY Button必须是三个,多了会报错。名称需为ORDER_BY1,ORDER_BY2,ORDER_BY3。 同样位于PROMPTS Block下。 给此项增加Trigger:WHEN_BUTTON_PROCESS,语句:app_folder.event('TOGGLE-ORDER-BY'); |
5 | 建立FOLDER_OPEN BUTTON,Subclass Informatcion为FOLDER_OPEN,从STANDARD.fmb继承。 位于PROMPTS Block下。需要指定Canvas。 |
6 | 建立FOLDER_TITLE项,Subclass Information 为DYNAMIC_TITLE,从STANDARD.fmb继承。 位于PROMPTS Block下。需要指定Canvas。 |
7 | 建立FORDER_DUMMY项,Subclass Information为FOLDER_DUMMY,从STANDARD.fmb继承。 位于PROMPTS Block下。 |
8 | 修改FORM级的TRIGGER:FOLDER_ACTION,注释是Message语句,并释放话句app_folder.event(:global.folder_action); |
9 | 在FORM级的TRIGGER:WHEN-NEW-FORM-INSTANCE增加以下语句: app_folder.define_folder_block( object_name => <FORM_NAME> , folder_block_name => <FOLDER_BLOCK_NAME>, prompt_block_name => <PROMPTS_NAME>, folder_canvas_name => <FORDER_CANVAS_NAME>, folder_window_name =><FORDER_WINDOW_NAME>, disabled_functions => '');
app_folder.event('INSTANTIATE'); Object_name参数为Folder子集,即Open_Folder点开时的LOV值集,如果Object_name参数一样,那么便可挑到那个Folder. 当然,如果不适用,系统便会报错,所以一定要注意,特别是同一支Form中有多个Folder时。 |
10 | 在Block级增加以下Trigger及相关语名 PRE-QUERY:App_folder.event('PRE-QUERY');--PRE_QUERY POST-QUERY:App_folder.event('POST-QUERY'); KEY-PREV-ITEM:App_folder.event('KEY-PREV-ITEM'); KEY-NEXT-ITEM:App_folder.event('KEY-NEXT-ITEM'); KEY-EXEQRY:App_folder.event('KEY-EXEQRY');--当点击用户操作界面的前三个栏位进行排序时,会触发该Trigger。 KEY-ENTQRY:App_folder.event('KEY-ENTQRY'); WHEN-NEW-RECORD-INSTANCE:App_folder.event('WHEN-NEW-RECORD-INSTANCE'); POST-BLOCK:App_folder.event('POST-BLOCK'); PRE-BLOCK:App_folder.event('PRE-BLOCK'); WHEN-NEW-BLOCK-INSTANCE:App_folder.event('WHEN-NEW-BLOCK-INSTANCE'); KEY-CLRBLK:App_folder.event('KEY-CLRBLK'); KEY-PRVREC:App_folder.event('KEY-PRVREC'); |
11 | 在FOLDER_BLOCK上增加SWITCHER项。Subclass Information为SWITCHER。 |
12 | 如果要实现窗口变大时, Block的流动条自动跟着变化, 需要:
|
转载于:https://www.cnblogs.com/ben-blogs/archive/2013/05/12/3074458.html
最后
以上就是超级发夹为你收集整理的Oracle Form Folder 开发--列表类的全部内容,希望文章能够帮你解决Oracle Form Folder 开发--列表类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复