📄 pfc详细教程.txt
字号:
不可视用户自定义对象)继承而来。这个父类对象包括了许多Service的函数、事
件、实例变量。同时么每个Datawindow Service还有自己的函数、事件、实例变
量。
访问Datawindow Services
为了使用DataWindow Services,你应该建立基于u_dw的Datawindow对象。U_dw对
象包括:
l_ 用于开启、关闭Datawindow Services的函数。
l_ 用于调用各种Services的函数、事件、实例变量的引用变量。
l_ 调用Datawindow Service的函数、事件的Precoded事件、用户事件
l_ 可供你编写代码的空事件
在你的应用程序中所有的DataWindow控件都必须是u_dw的子类。
开启DataWindow Services
只开启Datawindow控件需要的Servie ,这样才能将应用程序的负荷将到最小。以
下表格列出了所有的Datawindow Service ,以及对应的对象。
DataWindow Service 对应的对象
Datawindow service的基类 n_cst_dwsrv
Dropdown search service n_cst_dwsrv_dropdownsearch
Filters service n_cst_dwsrv_filter
Find andreplace service n_cst_dwsrv_find
Linkage service n_cst_dwsrv_linkage
Multitable update service n_cst_dwsrv_multitable
Print preview service n_cst_dwsrv_printpreview
DataWindow property service n_cst_dwsrv_property
Querymode service n_cst_dwsrv_querymode
Reporting service n_cst_dwsrv_report
Required column service n_cst_dwsrv_reqcolumn
DataWindow resize service n_cst_dwsrv_resize
Row management service n_cst_dwsrv_rowmanager
Row selection service n_cst_dwsrv_rowselection
Sort service n_cst_dwsrv_sort
8. DataWindow Services 的父类
概要
DataWindow Services的父类包括了所有DataWindow Services需要的Instance变
量、事件、函数。PFC使用n_cst_dwsrv实现DataWindow Services的父类。
DataStore Service:DataStore Service的对象是n_cst_dssrv
用法
你可以使用这些Service实现如下功能
l_ 获取、设置DataWindow信息
l_ 修改、获取DataWindow脚本函数
l_ 默认DataWindow service
父类函数在子类中有效
因为n_cst_dwsrv是所有DataWindow services的父类,因此所有在n_cst_dwsrv的
函数在它的子类中都有效。
开启Basic DataWindow service
l_ 调用u_dw的of_SetBase函数
dw_emplist.of_SetBase(TRUE)
当Datawindow被删除时u_dw会自动删除该Service 。
访问DataWindow
l_ 调用n_cst_dwsrv中的函数
函数 调用
of_Describe 访问DataWindow的属性、列。
Of_GetHeaderName 确定某一列的列名
Of_GetHeight 确定某一列的高度
Of_GetObject 依据对象名访问DataWindow中的对象
Of_GetWidth 确定某一列的宽度
Of_GetItemOf_GetItemAny 获取DataWindow中某一列的数据(任何类型数据)。
给DataWindow设置数据
l_ 调用n_cst_dwsrv中如下函数:
函数 调用
of_Modify 修改DataWindow属性、列。
Of_SetItem 设置、修改DataWindow的数据(任何数据类型)。
刷新DataWindow中所有的下拉DataWindow:
l_ 调用函数of_PopulateDDDWs
Integer li_return
li_return = dw_emplist.inv_base.of_PopulateDDDWs()
gnv_app.of_GetFrame().SetMicroHelp(String(li_return) + " DDDW columns
refreshed")
访问DataWindow service的默认值:
l_ 调用如下的函数
函数 调用说明
of_GetColumnDisplayName 确定DataWindow中某一列的显示名。
Of_GetColumnNameStyle 确定当DataWindow需要显示列时那些列需要显示
Of_GetDefaultHeaderSuffix 确定DataWindow列名的默认后缀。
Of_GetDisplayItemOf_GetDisplayUnits 确定关闭时显示的消息
Of_SetColumnDisplayNameStyle 确定当DataWindow Service需要显示列时显示的
信息l_ DataWindow列名l_ Database列名l_ DataWindow列标题名
Of_SetDefaultHeaderSuffix 设置默认的DataWindow列标题的后缀
Of_SetDisplayItemOf_SetDisplayUnits 设置关闭时显示的信息
9. Dropdown DataWindow search service
概要
PFC下拉DataWindow seach service提供了一个当用户敲入一个字母后自动滚到该
字母开头的数据项上。它对应的对象是n_cst_dwsrv_dropdownsearch 。
使用方法
开启Dropdown DataWindow search service
1. 调用u_dw的of_SetDropDownSearch函数
this.of_SetDropDownSearch(TRUE)
U_dw被删除时会自动删除这些Service 。
2. 在DataWindow控件的EditChanged事件中调用n_cst_dropdownsearch的pfc_Ed
itChanged事件:
this.inv_dropdownsearch.event pfc_EditChanged(row,dwo,data)
3. 在DataWindow控件的ItemFocusChanged事件中调用n_cst_dwsrv_dropdownsea
rch的pfc_ItemFocusChanged事件
this.inv_dropdownsearch.Event pfc_ItemFocusChanged(row,dwo)
4. 调用函数of_AddColumn为DataWindow的列启用DropDown DataWindow search
service 。
this.inv_dropdownsearch.of_AddColumn(揹ept_id?
10. Filter service
概要
PFC的Filter service提供了一个非常简单易用的过滤功能。它对应的对象是n_c
st_dwsrv_filter 。
使用说明
Filter service自动的显示过滤对话框。你所要作的只是开启Service、指定过滤
类型。你可以选择三种过滤对话框。
l_ PowerBuilder标准对话框
l_ 两种PFC提供的对话框
l_ w_filtersimple 下拉Listbox界面。
l_ w_filterextended Tabbed界面。
开启Filter service
l_ 调用u_dw的of_SetFilter函数,设置事务对象,指定过滤对话框使用DataWin
dow的列标题:
dw_emp.of_SetFilter(TRUE)
dw_emp.of_SetTransObject(SQLCA)
dw_emp.inv_filter.of_SetColumnDisplayNameStyle(dw_emp.inv_filter.HEADE
R)
u_dw在被删除时会自动删除该Service 。
设置过滤风格:
l_ 调用函数of_SetStyle,指定对话框风格:
dw_emplist.inv_filter.of_SetStyle(dw_emp.inv_filter.SIMPLE)
显示过滤对话框:
l_ 调用事件pfc_FilterDlg事件:
dw_emplist.inv_filter.event pfc_FilterDlg()
你无须显示的调用该事件。大多数情况下,用户通过选择View>Filter菜单显示过
滤对话框。
11. Find and replace service
概要
PFC的Find and replace service使得你可以在你的应用程序中加入查找与替换功
能。它对应的对象是n_cst_dwsrv_find 。
使用说明
你可以使用该服务为DataWindow提供查找与替换的功能。可以显示w_find窗口或
w_replace窗口。如果用户在m_master菜单的子类中选择了Edit>Find或Edit>Rep
lace时该服务将自动显示w_find或m_master窗口。
开启Find service
l_ 调用u_dw的of_SetFind函数:
dw_emplist.of_SetFind(TRUE)
U_dw被删除时将自动删除该服务
显示w_find对话框:
l_ 调用u_dw的pfc_FindDlg事件
dw_Emplist.Event pfc_FindDlg()
你无须显示的调用该事件。用户选择Edit>Find时会自动显示w_find对话框。
显示w_replace对话框:
l_ 调用u_dw的pfc_ReplaceDlg事件:
dw_emplist.Event pfc_ReplaceDlg()
你无须显示的调用该事件。用户选择Edit>replace时会自动显示w_replace对话框
。
12. Linkage service
概要
PFC的linkage service帮助你实现主/从窗口合作处理。
Linkage service包括如下功能:
l_ Linkage style(连接风格):控制从窗口的DataWindow检索数据、过滤数据
、滚动到特定行。
l_ Update style(更新风格):控制Linkage service更新DataWindows的方式(
top-down, bottom-up, top-down then bottom-up, bottom-up then top-down,
or a developer-specified custom update)
l_ 数据发生变化时的提醒窗口:当主数据发生变化,从数据即将丢失时,该选项
可以显示一个提醒窗口。
l_ 删除数据时的提醒窗口:当用户删除数据时可以显示提醒窗口
l_ Cascading key changes:当用户改变主纪录时,Linkage service会自动修改
从纪录
l_ 删除风格:当你删除主纪录时,该选项可以设成删除从纪录、不理会从纪录。
l_ 更新扩展:允许你将其他的控件也作为默认数据保存过程。
使用说明
你可以使用Linkage service处理各种DataWindow中的合作。尽管如此,大部分时
候都是用于处理主/从关系的DataWindow 。
开启Linkage service:
l_ 调用u_dw的of_SetLinkage函数:
dw_emplist.of_SetLinkage(TRUE)
u_dw自动删除所有Service 。
使用Linkage service实现主/从处理:
1. 在主从DataWindow中同时开启Linkage service:
dw_master.of_SetLinkage(TRUE)
dw_detail.of_SetLinkage(TRUE)
2. 分别为主从DataWindow设置事务对象:
dw_master.inv_linkage.of_SetTransObject(SQLCA)
dw_detail.inv_linkage.of_SetTransObject(SQLCA)
3. 将从DataWind
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -