ebs文件夹功能的实现

http://blog.sina.com.cn/s/blog_4ca242030100re7j.html

ebs文件夹功能的实现
                 早就为ebs系统的文件夹功能折服,今特意在开发一个客户化form后去实现了一把。
前提:开发完成并测试成功的客户化form一个。
               内主要有内容画布一个,堆叠式画布一个,数据块一个,窗口一个。
具体步骤如下:
   1、添加Object Groups。
           操作如下:在同一窗口打开标准的Form APPSTAND.FMB 和我们自己客制的Form,并且选择APPSTAND.FMB
                                       的Object Groups STANDARD_FOLDER然后用 鼠标拖动至我们自己的Form的ObjectGroups。
                                       选择子类,你会发现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的功能有关的。
                             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) 、FLODER_DUMMY 为Text Item,子属性为FLODER_DUMMY   ,画布为TOOLBAR
 4、在 BLOCK_NAME里增加项:SWITCHER 。
     SWITCHER:为文本项,子属性为SWITCHER ,画布为主画布,X/Y/宽/高均为0;数据库字段为否
     项目级触发器:
      WHEN-NEW-ITEM-INSTANCE:app_folder_move_cursor('1');
    
   5、增加trigger
              5.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' ) ;
              5.2 、BLOCK级别trigger7个       
                             WHEN-NEW-BLOCK-INSTANCE
                              PRE-BLOCK
                              POST-BLOCK
                              PRE-QUERY
                              KEY-EXEQRY
                              KEY-NEXT-ITEM
                             KEY-PRE-ITEM
 
                          内容:app_folder.event( 'EVENT' ) ;   用trigger名字替换EVENT即可。

      ps:为防止堆叠式画布在用鼠标滑轮滑动时出错,请尽量减少堆叠式画布页边的空白。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值