pb相关学习pfc编程19.6数据窗口服务_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据窗口作为PB 的一个控件,其功能在 PFC 中也得到了增强。PFC 为增强数据窗口功能而提供了一个u_dw 用户对象和一些函数、事件以及服务。要利用这些功能,应用程序中的所有数据窗口控件必须是数据窗口控件用户对象 u_dw的后代,并在适当的事件中调用适当的PFC 函数或者事件即可。在PFC 提供的数据窗口服务中,Basic 服务是最基本的服务,该服务包含了对所有其他数据窗口服务的。此外,该服务还提供了若干使用标准erScript数据窗口函数的选择方案,如Modify()和Describe(),提供了许多函数用于对象值。启动该服务,只需要使用语句of_SetBase(True)。表 19-1

2、4 是数据窗口服务及其解释。表 19-14数据窗口服务下面为初学者介绍几个常用的数据窗口服务。19.6.1Sort 服务数据窗口的Sort 服务使用户能够用四种方式指定数据的排序条件,以多种方式进行排序。使用of_SetSort(True)语句启动数据窗口的Sort 服务后,可以在适当控件的适当事件中编写来实现排序。比如,可以提供按钮让用户来指定排序条件,还可以让用户只点击数据窗口控件的标题栏(header)来完成,具体采服务功能位置Basic DataWindow service (an torFor all other servi )基本数据窗口服务n_cst_dwsrvDropDown

3、Search service根据输入的一个或者多个字母在下拉数据窗口中自动滚动n_cst_dwsrv_dropdownsearchFilter service提供三种方式过滤数据窗口中的数据n_cst_dwsrv_filterFind and Replaervice查找和替换数据窗口中的数据n_cst_dwsrv_findLinkage service提供一种在数据窗口之间建立联系的方法,比如主/从结构n_cst_dwsrv_linkageMultiTable Update service控制一个数据窗口对象内修改多个数据表n_cst_dwsrv_multitablePr Preview se

4、rvice提供普通的打印预览功能n_cst_dwsrv_pr previewDataWindow Property service数据窗口属性服务n_cst_dwsrv_propertyQueryMode service提供对特定查询实现 Query 模式的能力n_cst_dwsrv_querymodeReporting service提供增强的报表特征,如添加项目、缩放和打印n_cst_dwsrv_reportRequired Column service自动检查所有指定的数据窗口列的值是否已输入n_cst_dwsrv_reqcolumnDataWindow Resize service当调

5、整数据窗口控件大小时调整数据窗口对象中控件的大小n_cst_dwsrv_resizeRow Management service提供普通的数据行处理功能,如、删除和恢复删除等n_cst_dwsrv_rowmanagerRow Selection service提供数据行的单选、多选和扩展选择的功能n_cst_dwsrv_rowselectionSort service提供不同的机制对数据窗口中的数据进行排序n_cst_dwsrv_sort用哪种方式排序可由开发的开发风格决定。点击标题栏来排序需要首先调用函数of_SetColumnHeader,函数语法如下:dwcontrol.instance

6、name.of_SetColumnHeader ()其中,dwcontrol 为数据窗口控件名称(该数据窗口为u_dw 对象的后代);instancename 为用户对象n_cst_dwsrv_sort 的实例变量,缺省为nv_sort;指定是否以标题栏进行排序。函数of_SetStyle 用来设定要使用哪种方式让用户来设定排序条件。函数的语法如下:dwcontrol.instancename.of_SetStyle ( sortstyle )其中,dwcontrol 和instancename 两个参数与上面的含义完全相同;sortstyle 为一个整型参数,它的取值及含义如下:DEFAUL

7、T 或者 0DRAGDROP 或者 1SIMPLE 或者 2DROPDOWNLISTBOX 或者 3erBuilder框用w_sortdragdrop 进行拖放排序用w_sortsingle 进行单一排序用w_sortmulti 进行多个排序当参数SortStyle 取值为 3 时,数据窗口中的每个数据栏都必须有一个对应的文本对象。下面是一段例程:dw_emplist.of_SetSort(True) dw_emplist.inv_sort.of_SetColumnNameSource(2) dw_emplist.inv_sort.of_SetUseDisplay(True)dw_emplis

8、t.inv_sort.of_SetStyle (dw_emplist.inv_sort.DRAGDROP)19.6.2查找和替换服务当需要为用户提供在数据窗口中查找或者替换内容时,使用PFC 的查找和替换编码的工作量。首先使用of_SetFind(True)来启动该服务,然来激活该服务。例如:服务可以后可以编写If IsValid(inv_find) Theninv_find.Event pfc_ReplaceDLG()End If19.6.3DropDown Search 服务数据窗口对象中使用下拉数据窗口编辑风格的字段,可以方便用户录入数据,并能在一定程度上保证录入数据的规范。但是,如果下

9、拉框中包含的数据过多(3页以上时),使用这种录入方式有时还不如直接录入快捷。如果能够在用户输入前面的字母时下拉框能够自动显示与之匹配的选项,无疑可以加快录入的速度。 PFC 中提供DropDown Search 服务,可以让用户在下拉框中键入字母时自动进行匹配查找。缺省时,下拉框允许用户键入一个字母,erBuilder 使用户移动到所键入字母开始的第一行。遗憾的是,用户无法键入多个字母来查找更适合的项目。首先应该使用of_SetDropDownSearch(True) 启动该服务。然后,指定想让数据窗口中哪些栏具有搜索功能,并使用下面函数打开此功能: dwcontrol.instancenam

10、e.of_AddColumn ( column )其中,dwcontrol 为基于u_dw 用户对象的数据窗口对象;instancename 为 n_cst_dwsrv_dropdownsearch 实例变量,缺省为inv_dropdownsearch;可选参数 column 是String 类型的,用来指定要添加到 istr_columns 数组中的列,该列应该是下拉数据窗口的编辑样式,并且包含的数据类型为 String 类型,如果省略该参数则添加数据窗口对象中所有的具有下拉数据窗口编辑样式的字段。最后一个步骤是将数据窗口控件的EditChanged 和ItemFocusChanged 事件

11、重定向到其对应的PFC 事件pfc_EditChanged 和 pfc_ItemFocusChanged。例如,在EditChanged 事件中可以编写如下来重定向事件:inv_dropdownsearch.Event pfc_EditChanged(row,dwo,data)19.6.4Required Column 服务为了保证用户在非空字段中必须输入数据,原来常用的方法是将字段的 Required属性设置为True。但是,这样做经常在没有输入数据的字段失去焦点时显示提示窗口,这容易导致用户为了绕过该信息而随便输入数据。为了解决这个问题,还可以编写在数据提交之前检验是否在所有的必须输入字段

12、中输入了数据。Required Column 服务为开发解决了该问题。为了使用该服务,首先使用of_SetReqColumn(True)来启动该服务。选中数据窗口对象中字段的Required 属性(使该属性的取值为 True),当窗口激活 pfc_Save事件时,PFC 自动进行检查以确保Required 字段都有值。该服务还提供了几个函数以便编程灵活控制。比如,当需要使用erBuilder本身的处理机制来校验一些Required 字段时,可以调用of_RegisterSkipColumn函数,该函数的语法如下:dwcontrol.instancename.of_RegisterSkipColumn ( colu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论