Form Folder的实现

一新建Form(復制Template.fmb)

1、添加Form Objects(包括WINDOWCANVASBLOCK)(這裡都取名MY_FOLDER

2、修改TriggerProgram Units

Form Level Trigger: PRE-FORM

Program Units:APP_CUSTOM

3、修改其他属性设置

FormConsole Window

FormFirst Navigation Data Block

WindowPrimary Canvas

二、添加Folder相关的Objects

APPSTAND.FMB Object Groups STANDARD_FOLDER

及其相关的对象移至我们自己客制的Form为我们所用。


三、增加Attached Libraries

做完上面的步骤后,可以看看你的Attached libraries里面有没有

APPFLDR

如果没有,我们需要手工添加进去

四、增加Stacked Canvas FOLDER_STACK

1、增加Stacked Canvas

双击打开Canvas,在左侧工具条里面选择Stacked Canvas,然后在Canvas MY_FOLDER里面拖动。

2、设置Stacked Canvas属性

Name:FOLDER_STACK

SUBCLASS Information :CANVAS_STACKED

3 Block MY_FOLDER增加Item

这里我们和View 保持一致

4、设置Item的属性

Subclass Information  Text Item(other)

Canvas  这个属性不能设错,必须是你的Stacked Canvas

Prompt  空

5、创建Block MY_FOLDER_PROMPT

Subclass Information Block

Number of Records Displayed 1

6、增加與MY_FOLDER對應的Item

Subclass Information FOLDER_PROMPT_MULTIROW

Canvas 这个属性不能设错,必须是你的Stacked Canvas

Initial Value 就是在Form上面你将会看到的prompt

7、增加其他相关Item(必需), 都是和Folder的功能有关的。

AORDER_BY1ORDER_BY2ORDER_BY3

Subclass Information:  FOLDER_ORDERBY

Canvas :        MY_FOLDER

BFOLDER_OPEN

Subclass Information:  FOLDER_OPEN

Canvas :       MY_FOLDER

Trigger WHEN-BUTTON_PRESSED

 copy('OPEN', 'global.folder_action');

execute_trigger('folder_action');

CFOLDER_TITLE

Subclass Information:  DYNAMIC TITLE

Canvas :     MY_FOLDER

DFOLDER_DUMMY

Subclass Information:  FOLDER_DUMMY

Canvas :     TOOLBAR

五、增加Trigger

Level

Object

Trigger

Event

Form

XXPOM400N

FOLDER_ACTION

app_folder.event(:global.folder_action);

WHEN-NEW-FORM-INSTANCE

app_folder.define_folder_block

(

'MY_FOLDER', --'ObjectName'

'MY_FOLDER', --'folder_block',

'MY_FOLDER_PROMPT', --'prompt_block',

'FOLDER_STACK', --'stacked_canvas',

'MY_FOLDER', --'window',

NULL --'disabledfunctions';

);

Block

MY_FOLDER

PRE-BLOCK

app_folder.event('PRE-BLOCK');

POST-BLOCK

app_folder.event('POST-BLOCK');

WHEN-NEW-BLOCK-INSTANCE

app_folder.event('WHEN-NEW-BLOCK-INSTANCE');

PRE-QUERY

app_folder.event('PRE-QUERY');

KEY-EXEQRY

app_folder.event('KEY-EXEQRY');

KEY-NEXT-ITEM

app_folder.event('KEY-NEXT-ITEM');

KEY-PREV-ITEM

app_folder.event('KEY-PREV-ITEM');

备注

最简单的方式是直接把标准 Form ‘APPSTAND.fmb’ 中的 Block ‘SAMPLE_FOLDER’ 中的各个 Triger 复制过来

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7185996/viewspace-135984/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7185996/viewspace-135984/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值