|
本帖最后由 鱼儿游游 于 2010-12-31 06:33 编辑
[原创]用代码动态设置窗体组合框或列表框的默认值。
当表单一出來,表单里有一个组合框,其选择数据是多列的。如有两列,我们要设定一个初始值,combox 的值是 id 对应 text 的話。这时,如果我们只是单一利用 setValues 或 直接赋值的方法来设定的话,会出现 combox 內的值要么是 id,要么是 text,不能同时得到 ID 和对应的 text。本人编了一个小函数,combox 內的值能根据用户指定组合框中的数据的列号和指定值自动设置默认值,同时得到 ID 和对应的 text。
'===========================================================================
' 函数名称:SetBoxListIndex
' 功能描述:设置窗体组合框或列表框的默认值
'
' 输入参数:ctl --------------------- 组合框或列表框控件
' intColumnNumber -- 被比较值所在列。注意:列号从0开始。
' varValue -------------- 比较值
'
' 返回参数:设置成功/失败 -- True/False
'
' 示 例: If SetBoxListIndex(Me.cboUserID, 1, "张三") Then
' MsgBox "成功设置组合框cboUserID的默认值为:张三"
' End If
'
' 作 者: 鱼儿游游 QQ:7178000
'
' 创建日期: 2010年12月29日
'===========================================================================
Public Function SetBoxListIndex(ctl As Control, ByVal intColumnNumber As Integer, ByVal varValue As Variant) As Boolean
Dim lngListIndex As Long
Dim i As Long
lngListIndex = -1
For i = 0 To ctl.ListCount - 1
If ctl.Column(intColumnNumber, i) = varValue Then
lngListIndex = i
Exit For
End If
Next
If lngListIndex > -1 Then
ctl.SetFocus
ctl.ListIndex = lngListIndex
End If
SetBoxListIndex = Not (lngListIndex = -1)
End Function
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|