ERP事业部咨询实施客户化开发部
cEntityNameFld='cWhName'> \
\ \
\ \ \ \
\
\ \
\ \
\ \ \ End Select End Sub
第三步:实现获取数据方法
Public Sub GetSrvData(sRefID As String, sXML As String, RstClass As ADODB.Recordset, RstGrid As ADODB.Recordset, RstColSet As ADODB.Recordset, sMsg As String, bFlag As Boolean)
If bLogin = False Then MsgBox \ Exit Sub End If
Dim cnn As New ADODB.Connection Dim sWhereSql As String
cnn.ConnectionString = g_oLogin.ufdbname cnn.Open bFlag = True
If Len(sXML) > 0 Then
Dim dom As New DOMDocument Call dom.loadXML(sXML)
sWhereSql = dom.documentElement.selectSingleNode(\ If Len(sWhereSql) > 0 Then
sWhereSql = \ End If End If
Select Case LCase(sRefID) Case \
bFlag = GetRst(cnn, \cast(0 as bit) as bRefSelectColumn cInvCCode,cInvCName from inventoryclass\
If bFlag = True Then
bFlag = GetRst(cnn, \cInvCode,cInvName from Inventory\+ sWhereSql, RstGrid, sMsg)
End If
第36页 共 329页
ERP事业部咨询实施客户化开发部
Case \
bFlag = GetRst(cnn, \cast(0 as bit) as bRefSelectColumn cWhcode,cWhName from warehouse\
End Select cnn.Close
Set cnn = Nothing End Sub 1.2.2.2.6 完全自定义
设置属性:
EdtArchive.RefType = RefTypes.RefUserBrowse 自己实现控件消息
EditArchive_UserBrowse(sXML) 1.2.2.2.7 RichText
编辑框
直接设置属性:
EdtDate.RefType = Reftypes. RefRichText
1.2.2.2.8 Web
参照调用
Web参照调用和C/S的VB调用基本相同:其加载步骤如下: 1、加载RefEdit控件到Web页面 2、设置属性
3、初始化Init接口
配置文件:
1、注册组件:U8WebRefS.dll
2、将文件U8WebRefS.ASP 放在虚拟目录的根目录下即可
1.2.2.2.8.1 示例1:调用存货档案
1、设置属性:
2、初始化:
在初始化时调用方法:
call EdtArchive.init(Nothing, Document.URL & \
第37页 共 329页
ERP事业部咨询实施客户化开发部
1.2.2.2.8.2 示例2:调用枚举
1、设置属性:
2、初始化:
在初始化时调用方法:
call EdtRefEnumSimple.Init (Nothing,Document.URL & \否{#}是\\
1.2.2.2.8.3 示例3:调用日历
引用控件后,直接设置属性即可
id=\
1.2.2.2.8.4 示例4:调用计算器
引用控件后,直接设置属性即可
1.2.2.3 属性介绍
1、 RefType:设置参照类型,目前包括参照、枚举、日历、计算器、无(等同Edit)
RefNone = 0 没有参照,等同Edit RefArchive = 1 参照档案,必须通过预制参照元素据方可使用 RefDate = 2 参照日历档案 RefCalculator = 3 参照计算器 RefEnumType = 4 参照枚举 RefUserDefine = 5 用户实现元素据和数据 RefUserBrowse = 6 用户自己实现参照
RefFile = 7 参照文件 RefRichText=8 多行编辑框,类似记事本
2、 DisplayText:用来显示的内容,对于除参照属性为RefArchive、RefEnumType,
RefUserDefine外,其Text和DisplayText默认是一致的
3、 Text: 用来保存到数据库的值,设置该属性时,对应参照、自定义参照,且属性
第38页 共 329页
ERP事业部咨询实施客户化开发部
AutoDisplayText=true,将会查询数据库内容,根据参照元素定义显示DisplayText 注意1:对于参照属性为RefArchive、RefUserDefine,其控件获得焦点将显示Text内容,若离开焦点,将显示DisplayText内容
注意2:对于参照属性为RefArchive,若m_AutoDisplayText = False,输入一个值,或者m_AutoDisplayText = true输入一个非法值时,此时真正的Text内容为空,但为了方便业务组获取Text内容,此时Text内容为用户输入的内容。 4、 Valid: 表示当前的内容是否合法
5、 AutoHideCmd: 是否自动隐藏Button按钮
6、 AutoDisplayText:设置参照是否自动检查赋值Text属性是否正确,并显示相关信息,
默认为true,即当RefType为RefArchive、RefUserDefine 、RefEnumType时,控件自动根据参照定义查询和显示相关内容
7、 AutoExchangeText:是否自动切换Text与DisplayText值的显示,默认为true,即当
RefType为RefArchive、RefUserDefine类型时,且AutoExchangeText属性为true时,则若控件获得焦点,则显示Text内容,若离开焦点时,则显示DisplayText内容
8、 MultiTextElement:对于多选内容,需要返回所有的返回字段和显示字段的内容,且格
式为XML的格式, 只读属性 其格式为:
-
9、 MultiTextXML:多选赋值属性
只写属性 示例:
Dim sXML As String
sXML = \
sXML = sXML + \ sXML = sXML + \ sXML = sXML + \
sXML = sXML + \
EdtArchive.MultiRetStyle = RetMultiName EdtArchive.MultiTextXML = sXML 10、 LanguageID:多语属性
其枚举内容如下:
zh_CN = 0 zh_TW = 1
en_US = 2
对应属性设置,若在给控件初始化时,传给Login对象的,可以不用设置该属性,控件根据Login对象自动获取多语属性,对应没有传入Login对象,若需要控制多语,则必须设置该属性
第39页 共 329页
ERP事业部咨询实施客户化开发部
11、 MultiRetStyle:多选时多值返回风格
其枚举:
RetSingle = 0 :表示只返回第一个数据集的相关内容,即按照参照定义返回内容,和单选返回处理方式是一致的; RetMultiCode = 1 :表示Text=“”,DisplayText=多选的编码,之间用“ ; ”(即:空格+英文分号+空格)
RetMultiName = 2 :表示Text=“”, DisplayText多选的名称,之间用“ ; ”(即:空格+英文分号+空格) 12、 RememberLastRst:是否选中上次选择的记录,即第一次参照返回数据后,再次
点击参照,若RememberLastRst=true,则系统自动选中上次记录 13、 其它属性与Edit相同,此处不再列举
1.2.2.4 事件介绍
1、值改变消息 消息定义:Public Event TextChange () 该消息表示从进入RefEdit控件开始到离开RefEdit控件之后,若参数值发生改变,将触发该消息,在中间过程变化将不触发该消息 2、点击参照获取过滤消息和是否取消参照 消息定义:Public Event BeforeBrowse(ByRef sXMLFilter As String, sSQL As String,ByRef Cancel As Boolean) 参数说明: sXMLFilter:XML格式条件 sSQL :过滤条件串 其格式为: sXMLFilter = \
sXMLFilter = sXMLFilter + \ sXMLFilter = sXMLFilter + \ Cancel:当赋值为True时,表示此时不用参照 注意:参数名paramName严格区分大小写,即示例中@cDepCode是严格区分大小写 3、数据填充消息 消息定义:Public Event AfterBrowse (ByRef RstClass As ADODB.Recordset, ByRef RstGrid As ADODB.Recordset, ByRef sXML As String) 该消息表示在弹出参照,并选择完成数据后,程序员可能需要填写其他数据,其中参数含义: RstClass: 对于有分类的参照,若操作员选择分类后,将返回选择的分类记录 RstGrid:返回列表的数据 sXML: 预留参数
4、激活保存按钮消息
消息定义:Public Event ActiveSaveBtn()
对于点击参照按钮、或按快捷键,并同时返回数据,此时RefEdit自动触发该消息。参照包括档案参照、日历参照、计算器参照等含按钮的参照
第40页 共 329页