|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
参照控件设计说明
参照组件的设计采用多层结构,显示逻辑与业务逻辑、数据库操作逻辑分开,具体分成两个组件,数据显示组件UFReferClient(客户端),以dll形式提供,数据处理组件UFReferServer,以dll形式提供。UFReferClient处理与用户的交互,用来显示数据、选择数据、定位等功能,其文件名称为:UFReferC.dll; UFReferServer(服务端)处理业务逻辑,包含栏目设置,权限的区分,分页的管理,结果集的回送等,其文件名称为:UFReferS.dll
参照客户端
属性
recmx
返回选择的记录集(对象):它为ADO.Recordset数据类型
语法
object.recmx
object 所在处代表一个对象表达式,其值是参照客户端对象。
说明
使用该属性,可以获得参照客户端选中的记录。
注意
按ESC键、退出键、窗口关闭按钮,参照没有数据,这四种情况将返回nothing,其它返回选中的数据集
RstSelClass
返回项目大类的项目分类
语法
object. RstSelClass
object 所在处代表一个对象表达式,其值是参照客户端对象。
说明
使用该属性,可以获得枚举类型参照的选中的项目大类数据集。该数据集含有字段有:cItem_Class,cItem_Name,cItem_Text,cRule,cTable,cClassTable
m_bColSet
强制设置参照不显示栏目设置按钮。
语法
object. m_bColSet [= boolean]
Enabled 属性的语法包含下面部分:
部分 描述
object 代表一个对象表达式,其值是参照客户端对象
boolean 用来强制设置栏目不显示
说明
根据调用参照的接口和参数,参照客户端可以自动判定是否具有栏目设置按钮,但可以强制不显示栏目设置按钮。该属性的设置常用于Web调用。目的对显示数据不再根据栏目的设置刷新数据
方法和函数
SetRWAuth 方法
设置权限,仅用于数据库表:Customer、Vendor、Inventory、Department、Person、Warehouse、Position、Fitem
注意:该方法调用只针对调用枚举函数(EnumRefInit)接口和项目函数(ItemRefInit)初始化参照才起作用,其它一律无效,即字符串参照和数据集参照初始化无效。
语法
object.SetRWAuth(TableName As String, [cFunId As String], [bControl As Boolean = True])
SetRWAuth方法的语法包含下列部分:
部分 描述
object 必需的。代表一个对象表达式,其值是参照客户端对象
TableName 需要控制权限的数据库表
cFunId 可选项。默认为读权限
bControl 可选项。默认为控制权限
设置值
TableName的设置值有:
值 描述
“Customer” 客户档案表名
“Vendor” 供应商档案表名t
“Inventory” 存货档案表名
“Department” 部门档案表名
“Person” 职员档案表名
“Warehouse” 仓库档案表名
“Position” 货位档案表名
“Fitem” 项目大类表名
cFunId的设置值有:
值 描述
“” 默认读权限
“R” 读权限
“W” 写权限
bControl 的设置值有:
值 描述
True 默认值:控制权限
False 不控制权限,能看到符合条件的所有数据
EnumRefInit 函数
枚举参照
描述
在调用参照窗体之前,必须先通过给定的枚举值或数值或表名等参数来初始化数据,如果初始化成功,则调用参照Show方法,弹出窗体,否则若初始化失败,参照自动给予初始化失败的原因信息,无需再调用Show方法。
语法
Function EnumRefInit(oLogin As Object, ReferDisplayMode As DisplayMode, bMulti As Boolean, EnumId_Table, [sFilter As String], [bPage As Boolean = False], [lPageSize As Long = 1], [lPageCount As Long = 1], [lCurPage As Long = 1]) As Boolean
EnumRefInit函数的语法具有下面的参数:
部分 说明
oLogin Login对象
ReferDisplayMode 枚举类型:显示模式,树型加列表为2;仅有Grid列表为1
bMulti 是否多选
EnumId_Table 变体类型,建议直接用表名(支持枚举类型值)
sFilter 过滤串
bPage 是否分页
lPageSize 页大小
lPageCount 总页数
lCurPage 当前页
设置值
ReferDisplayMode 的设置值有:
枚举值 数值 描述
enuGrid 1 设置仅有Grid列表显示数据
enuTreeViewAndGrid 2 设置左边是树型结构,用于显示分类信息,右边是Grid列表显示数据
EnumId_Table 的设置值有:
枚举值 数值 字符串值(表名) 描述
enuDepartment 1 Department 部门档案
enuPerson 2 Person 职员档案
enuItem 4 FItem 项目大类
EnuWarehouse 5 Warehouse 仓库档案
enuSaleType 6 SaleType 销售类型
EnuPurchaseType 7 PurchaseType 采购类型
EnuExpenseItem 8 ExpenseItem 费用项目
EnuPosition 9 Position 货位档案
enuRd_Style 10 Rd_Style 收发类别
enuCustomer 11 Customer 客户档案
enuVendor 12 Vendor 供应商档案
enuOrdinaryInven 13 Inventory 存货档案
enuPurchInven 14 存货档案采购
EnuSaleInven 15 存货档案销售
enuGL_bdigest 17 GL_bdigest 常用摘要
enuforeigncurrency 18 foreigncurrency 外币币种
enuExch 19 Exch 外币汇率
Enucode 20 Code 会计科目
EnuDsign 21 Dsign 凭证类别
EnuPayCondition 22 PayCondition 付款条件
EnuSettleStyle 23 SettleStyle 结算方式
EnuBank 24 Bank 银行档案
EnuShippingChoice 25 ShippingChoice 发运方式
enuCustomerClass 26 CustomerClass 客户分类
EnuVendorClass 27 VendorClass 供应商分类
enuDistrictClass 28 DistrictClass 地区分类
enuInvenClass 29 InventoryClass 存货分类
enuComputationGroup 30 ComputationGroup 计量单位组
enuComputationUnit 31 ComputationUnit 计量单位
fItemssXXass 项目:其中XX代表:00—99项目,例如:fItemss99Class
enuProductStructure 33 ProductStructure 产品结构父项
EnumRefInit 函数示例:
本例先初始化客户端对象,然后用EnumRefInit函数初始化数据,另外控制客户档案的写权限,然后调用客户端对象的Show方法弹出客户端窗体,然后双击窗体,返回选中数据:
Private Sub CallRef()
dim Ref as Object
dim Rst as ADODB.Recordset
Set Ref = CreateObject("UFReferC.UFReferClient")
Call Ref.SetRWAuth(“Customer”, “W”,true)
if Ref.EnumRefInit(g_oLogin, 2, False, “Customer")=false then exit sub
Ref.Show
Set Rst = Ref.recmx
‘此处可以使用Rst数据集中数据
Set ref=nothing
End Sub
示例2:
Private Sub CallRef()
dim Ref as Object
dim Rst as ADODB.Recordset
dim RstNo as ADODB.Recordset
if Ref.EnumRefInit(g_oLogin, 2, False, “Fitem")=false then exit sub
Ref.Show
Set Rst = Ref.recmx
Set RstNo=Ref. RstSelClass
‘此处可以使用Rst和RstNo数据集中数据
Set ref=nothing
End Sub |
评分
-
查看全部评分
|