教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

Oracle FORM 开发笔记(2)

来源:网络收集 时间:2025-09-12
导读: 22、滚动条 1)块滚动条:水平与垂直其一,一般只添加垂直滚动条 2)画布滚动条:因为view是显示在界面上的,而canvas是存放item的,如果view太小不足以显示所有的item则需要使用canvas滚动条了,一般使用在堆叠can

22、滚动条

1)块滚动条:水平与垂直其一,一般只添加垂直滚动条

2)画布滚动条:因为view是显示在界面上的,而canvas是存放item的,如果view太小不足以显示所有的item则需要使用canvas滚动条了,一般使用在堆叠canvas上(一般使用水平滚动条)

23、创建堆叠画布时,要再new form触发器中添加入:

show_view(‘canvas_name’); 步骤:

1) 创建一个堆叠画布,设置标题、子类、显示水平滚动条、window与主画布相同 2) 设置item到新增加的堆叠画布上 3) 调整堆叠画布, 规则:

1) view在canvas上的坐标为:0,0;宽度以情况而定,高度与canvas相同 2) canvas左右没有空白,第一个item的坐标为0,0.25(用于放prompt) 3) canvas底部留出0.2的宽度用于存放滚动条

24、添加行指示符:在block中添加一个item,并设置为current_record_indicator 25、建立块查询步骤:

1)打开appstand.fmb,并拖动query_fnd对象组到所需要建立块查询的form中,选择copy的方式 2)删除对象组query_fnd,此时我们的form中会新增加了一个window、canvas、block,分别设置它们的子类属性,并设置block属性的上、下导航块(上为目标块,下为null)而主块的上、下导航为本身

3)修改clear、new、find按钮触发器中的block_name为要查询的块名 4)为query_find block手动添加所需要的item,并显示到相应的canvas上

5)修改块触发器,为要查询的块block添加一个user_name(name:query_find)的触发器,并写入代码:

app_find.query_find(‘block_window’,’query_find_window’,’query_find_block’);

block_window与query_find的window、block进行绑定,调用EBS中的手电筒按钮

6)为要查询的block添加一个pre_query触发器,并写入代码:(ture和false注意大小写)

if :parameter.G_query_find = 'TRUE' then

copy(name_in('query_find.ORGANIZATION_ID'),'CUX_DEPT_CSW.ORGANIZATION_ID');

copy(name_in('query_find.department_id'),'CUX_DEPT_CSW.DEPARTMENT_ID'); app_find.query_date_range(:query_find.VALID_date_f,

:query_find.VALID_date_t,

'CUX_DEPT_CSW.VALID_DATE'); :parameter.G_query_find := 'FALSE'; END IF;

将块查询的条件传递到主块上,并执行ctrl+F11,这样就达到了查询的目的了

26、光标从块A点入块B时触发器执行过程:

27、创建tab画布步骤:

1)新建一个tab_canvas,并创建herders与lines pages(这两个pages是必须的),设置herders与lines的显示标签

2)设置Item的显示canvas到新建立的tab_canvas上(设置初始化那个page显示) 3)切换到主画布,在view->stacked canvas中选择tab_canvas将tab_canvas显示到主画布上

4)控制标签pages的显示

1、在Form级WHEN-NEW-FORM-INSTANCE中追加:

SET_CANVAS_PROPERTY('TAB_CANVAS', TOPMOST_TAB_PAGE, 'HEADERS');

2、新建Form级WHEN-TAB-PAGE-CHANGED触发器,该触发器是用鼠标点时才会触

发;另外注意几个Form标准过程的使用: IF :system.tab_previous_page = 'HEADERS' THEN validate(block_scope);

IF :system.MODE = 'ENTER-QUERY' OR NOT form_success THEN --Message here

set_canvas_property('TAB_DEMO',topmost_tab_page,:system.tab_previous_pag

e);

RETURN; END IF;

ELSIF :system.tab_previous_page = 'LINES' THEN

validate(block_scope);

IF :system.MODE = 'ENTER-QUERY' OR NOT form_success THEN --Message here

set_canvas_property('TAB_DEMO',topmost_tab_page,:system.tab_previous_pag

e);

RETURN; END IF; END IF;

IF :system.tab_new_page = 'LINES' THEN

--show_view('ORDER_LINES_STACKED'); go_item('ORDER_LINES.ORGANIZATION_CODE'); ELSIF :system.tab_new_page = 'HEADERS' THEN --hide_view('ORDER_LINES_STACKED'); go_item('ORDER_HEADERS.DESCRIPTION'); END IF;

28、一个导航块中必须有一个ITEM可UPDATE或INSERT可输入,否则会提示目标块中没有可导航的项(frm-40106错误) 29、一个块名称超过22个字符,会提示(frm-41079:添加组

列错误)

30、创建文件夹步骤及注意:

注意:如果创建文件夹不显示prompt,则在new_form_instance触发器中添加app_folder.event('INSTANTIATE');

为文件夹添加自动伸缩的效果:在when_window_resized中添加

IF :SYSTEM.EVENT_WINDOW IN (‘WINDOW_NAME’) THEN APP_FOLDER.EVENT(‘WHEN_WINDOW_RESIZED’); END IF;

1)打开APPSTAND.FMB表单,将object group中的STARNDARD_FOLDER拖动到我们

新建的form中,选择subclass,将SAMPLE_FOLDER中的所有触发器拖动到我们要建立文件夹选项的block上

2)为我们新建的form导入APPFLDR.PLL库

3)新建一个prompt block,建完结果图,说明:ORDER_BY3以下属性为要导航的Item

4)设置各个Item的属性为: Property Value Name Item Type(项类型) Subclass Information子类信息 Canvas画布 要导航的列 Display Item FOLDER_PROMPT_MULTIROW FOLDER_STACK(这个属性不能设错,必须是你的Stacked Canvas) Initial Value初始值 Brand Type、Brand Desc,Category (这个初始值就是在Form上面你将会看到的prompt值) Prompt提示 Item ORDER_BY1 ORDER_BY2 ORDER_BY3 Property Item Type Subclass Information Canvas X Position Y Position Width Height 备注 Item FOLDER_OPEN Value Push Button FOLDER_ORDERBY CONTEN_CANVAS 0 0 0 0 保持为空 后面的四个0是这是这个Item不需要显示出来,是因为目前我们不需要利用几个Button. Property Item Type Subclass Information Value Push Button FOLDER_OPEN Canvas 自带 Item FOLDER_TITLE Property Item Type Subclass Information Canvas X Position Y Position Width Height 备注 Item FOLDER_DUMMY Trigger WHEN-BUTTON_PRESSED CONTEN_CANVAS copy('OPEN', 'global.folder_action'); execute_trigger('folder_action'); Value Display Item DYNAMIC TITLE 动态名称 CONTEN_CANVAS 0 0 0 0 后面的四个0是这是这个Item不需要显示出来,是因为目前我们不需要利用这个Item. Property Item Type Subclass Information Canvas X Position Y Position Width Height Value Text Item FOLDER_DUMMY TOOLBAR 0 0 0 0 5)修改block的prompt为空(包括主块和标签块)修改标签块的 设置标签块的Initial Value属性:为要提示的内容

6)创建stacked canvas,并设置block显示到改canvas上,包括主块和标签块,设置stacked canvas的属性,水平滚动条为yes

7)修改trigger,在when_new_form_instance中添加: app_folder.define_folder_block ( '要导航的block名', --'ObjectName' '要导航的block名', --'folder_block', '标签块', --'prompt_block', '新建 …… 此处隐藏:2765字,全部文档内容请下载后查看。喜欢就下载吧 ……

Oracle FORM 开发笔记(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/411832.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)