Oracle FORM 开发笔记(2)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介