Form文件夹开发步骤

时间:2022-12-27 05:43:40

1.开发完一个Form,测试OK
1.添加Object Groups
操作如下:在同一窗口打开标准的Form APPSTAND.FMB 和我们自己客制的Form,并且选择APPSTAND.FMB的Object Groups STANDARD_FOLDER然后用鼠标拖动至我们自己的Form的Object Groups。 选择子类,你会发现Form Builder都会在你的Form里面自动添加很多对象。

2、添加Attached Libraries
操作如下:检查一下客户化form中Attached libraries里面有没有APPFLDR。如果没有,选择APPSTAND.FMB 中的Attached Libraries下的APPFLDR.pll到我们客户化form的Attached Libraries下。

3、增加控制块
如需要显示文件夹功能的数据块为BLOCK_NAME,则创建控制块BLOCK_NAME_PROMPT.
3.1 、设置块的属性 子类信息:block 数据库数据块:否
3.2 、增加ITEM 注:增加Item,名称必须和BLOCK_NAME中的Item保持一致。另外,数据块BLOCK_NAME 中有些item不要显示在canvas上的,那么此类item也无须在BLOCK_NAME_PROMPT创建相应的item.
3.3 、设置其初始值,也就是显示的标签名及子类信息
3.4 、增加其他相关Item (必须)我们还需要增加其他的一些Item,都是和Folder的功能有关的。(文件夹的block 非数据库block)
1) 、ORDER_BY1、ORDER_BY2、ORDER_BY3 为PUSH_BUTTON,子属性为FOLDER_ORDERBY 画布为内容主画布
2)、FOLDER_OPEN 为PUSH_BUTTON,子属性为FOLDER_OPEN 画布为内容主画布
3) 、FOLDER_TITLE 为Display Item ,子属性为DYNAMIC TITLE 画布为内容主画布
4) 、FOLDER_DUMMY 为Text Item,子属性为FOLDER_DUMMY ,画布为TOOLBAR

4、增加trigger

4.1、FORM级别trigger两个
1)、FOLDER_ACTION 内容: app_folder.event(:global.folder_action);
2)、WHEN-NEW-FORM-INSTANCE 内容:APP_FOLDER.DEFINE_FOLDER_BLOCK( 'CUXFAQRY',--FormName
'FA_QUERY_ASSET',--FolderBlock
'FA_QRY_PROMPT',--prompt_block
'FA_QUERY_DETAIL_CANVAS',--stacked_canvas
'FA_QUERY_WINDOW',--window
NULL--disabledfunctions );

app_folder.event( 'INSTANTIATE' ) ;

4.2 、BLOCK(数据块)级别trigger7个 (数据库块上的触发器)
WHEN-NEW-BLOCK-INSTANCE app_folder.event('WHEN-NEW-BLOCK-INSTANCE') ;
PRE-BLOCK app_folder.event('PRE-BLOCK') ;
POST-BLOCK app_folder.event('POST-BLOCK') ;
PRE-QUERY app_folder.event('PRE-QUERY') ;
KEY-EXEQRY app_folder.event('KEY-EXEQRY') ;
KEY-NEXT-ITEM app_folder.event('KEY-NEXT-ITEM') ;
KEY-PRE-ITEM app_folder.event('KEY-PRE-ITEM') ;

内容:app_folder.event( 'EVENT' ) ; 用trigger名字替换EVENT即可。