Form_Form标准控件Folder开发解析(案列)

简介: 2014-01-09 Created By BaoXinjian 1. 打开APPSTAND.fmb, 并加载程序库APPFLDR.pll.  2. 基于APPSTAND.fmb生成Folder开发所需的对象子类,如下:  a) Window  i.

2014-01-09 Created By BaoXinjian

1. 打开APPSTAND.fmb, 并加载程序库APPFLDR.pll. 

2. 基于APPSTAND.fmb生成Folder开发所需的对象子类,如下: 

  • a) Window 
    • i. FOLDER_AUTOSIZE , FOLDER_SORT_DATA ,FOLDER_TOOLS 
  • b) Canvas 
    • i. FOLDER_AUTOSIZE , FOLDER_SORT_DATA ,FOLDER_TOOLS 
  • c) Datablock 
    • i. FOLDER_TOOLS 
    • ii. FOLDER_CONTROL 
  • d) Objectset 
    • i. STANDARD FOLDER 

3. 建立基于表/视图的数据块,并设置记录指示器及滚动条.并设置对应画布及窗口. 

4. 建立堆叠画布,把数据字段全部放入此画布.并调整在普通画布上的位置. 

5. 删除所有数据字段的PROMPT. 

6. 创建非数据库数据块PROMPT,并在其中建立如下对象. 

  • a) 与数据字段名称一致的显示项字段,属性类为”FOLDER_PROMPT_MULTIROW” 
  • b) ORDER_BY1,ORDER_BY2,ORDER_BY3的按钮字段,属性类为”FOLDER_ORDERBY” 
  • c) FOLDER_OPEN的按钮字段,属性类为”FOLDER_OPEN”. 
  • d) FOLDER_TITLE的文本项字段,属性类为”DYNAMIC_TITLE”. 
  • e) FOLDER_DUMMY的文本项字段,属性类为”FOLDER_DUMMY”. 

7. 触发器编写 

  • a) FORM. LEVEL 
    • i.  FOLDER_ACTION 
      • app_folder.event(:global.folder_action); 
    • ii. WHEN-NEW-FORM-INSTANCE 
      • app_folder.define_folder_block('testfolder', --form名称                                          
                                                     'xxab_folder_form', --data block名称
                                                     'prompt', --prompt block 名称
                                                     'main_stk', --stack canvas名称
                                                     'main', --window 名称
                                                     ''); --NULL
      • app_folder.event('instantiate');         
  • b) BLOCK LEVEL 
    •  i. 在数据库数据块上创建如下Triggers 
      • Pre-Query 
      • Post-Query 
      • Key-Prev-Item 
      • Key-Next-Item 
      • Key-ExeQry 
      • Key-EntQry 
      • When-New-Record-Instance 
      • Post-Block 
      • Pre-Block 
      • When-New-Block-Instance 
      • Key-Prvrec 
      • Key-Nxtrec 
      • Key-Clrblk 
      • Key-Clrrec 
      • 其中代码均为: app_folder.event('Trigger name') 

8. 在数据项数据块中创建FOLDER_SWITCHER的文本项,属性类为SWITCHER. 

9. 新建两个Stack canvas, 用来分别放置记录指示器及滚动条. 

10. 新建一个Stack canvas, 用来放置FOLDER OPEN及FOLDER TITLE.

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
9天前
|
缓存 安全 PHP
【PHP开发专栏】Symfony框架核心组件解析
【4月更文挑战第30天】本文介绍了Symfony框架,一个模块化且高性能的PHP框架,以其可扩展性和灵活性备受开发者青睐。文章分为三部分,首先概述了Symfony的历史、特点和版本。接着,详细解析了HttpFoundation(处理HTTP请求和响应)、Routing(映射HTTP请求到控制器)、DependencyInjection(管理依赖关系)、EventDispatcher(实现事件驱动编程)以及Security(处理安全和认证)等核心组件。
|
17天前
|
SQL 数据库
数据库开发之子查询案例的详细解析
数据库开发之子查询案例的详细解析
13 0
|
17天前
|
SQL 数据库
数据库开发之子查询的详细解析
数据库开发之子查询的详细解析
18 0
|
3天前
|
Linux 开发工具 Android开发
移动应用与系统:开发与操作系统的深度解析
【5月更文挑战第6天】 在数字化时代,移动应用和操作系统是信息技术的核心组成部分。本文深入探讨了移动应用的开发过程、关键技术以及移动操作系统的架构和功能。通过对这些技术的详细分析,我们可以更好地理解移动应用和系统的工作原理,以及它们如何影响我们的生活和工作。
|
9天前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
【4月更文挑战第30天】Dart是Google为Flutter框架打造的高效编程语言,具有易学性、接口、混入、抽象类等特性。本文概述了Dart的基础语法,包括静态类型(如int、String)、控制流程(条件、循环)、函数、面向对象(类与对象)和异常处理。此外,还介绍了库导入与模块使用,帮助开发者快速入门Flutter开发。通过学习Dart,开发者能创建高性能的应用。
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
|
9天前
|
JSON 安全 Swift
【Swift开发专栏】Swift中的JSON解析与处理
【4月更文挑战第30天】本文介绍了Swift中的JSON解析与处理。首先,讲解了JSON的基础,包括其键值对格式和在Swift中的解析与序列化方法。接着,展示了如何使用`Codable`协议简化JSON操作,以及处理复杂结构的示例。通过这些内容,读者能掌握在Swift中高效地处理JSON数据的方法。
|
9天前
|
存储 数据库连接 PHP
【PHP开发专栏】深入解析PHP数据类型与运算符
【4月更文挑战第30天】本文深入探讨了PHP的编程基础——数据类型和运算符。PHP支持整型、浮点型、字符串、布尔型、数组、对象、资源等数据类型。运算符包括算术、字符串、赋值、比较、逻辑、位、错误控制及范围运算符。通过示例展示了如何计算圆面积、判断素数和求斐波那契数列,以帮助读者更好地理解和应用这些概念。
|
10天前
|
设计模式 算法 搜索推荐
【PHP开发专栏】PHP设计模式解析与实践
【4月更文挑战第29天】本文介绍了设计模式在PHP开发中的应用,包括创建型(如单例、工厂模式)、结构型和行为型模式(如观察者、策略模式)。通过示例展示了如何在PHP中实现这些模式,强调了它们在提升代码可维护性和可扩展性方面的作用。设计模式是解决常见问题的最佳实践,但在使用时需避免过度设计,根据实际需求选择合适的设计模式。
|
13天前
|
Dart Java Android开发
Flutter插件开发:开发与使用的技术解析
【4月更文挑战第26天】本文详细介绍了Flutter插件开发,包括创建插件项目、编写原生代码(Android和iOS)、注册与使用插件。通过Flutter命令行工具生成插件,使用MethodChannel进行Dart与原生平台的通信。示例展示了如何获取设备信息并展示在Flutter应用中。文章还提到插件测试与发布,强调了兼容性与性能的重要性,指出Flutter插件是扩展应用功能的关键。
|
17天前
|
SQL 存储 关系型数据库
数据库开发之事务和索引的详细解析
数据库开发之事务和索引的详细解析
16 0
数据库开发之事务和索引的详细解析

推荐镜像

更多