📄 mdltreeviewinmainleft.bas
字号:
Attribute VB_Name = "mdlTreeViewInMainLeft"
Option Explicit
Private Const KINDKEYPRE = "KINDKEY" '类别KYE前缀
Private Const MERCHANDISEKEYPRE = "MERCHANDISEKEY" '商品KEY前缀
'***********************************************************************
'* 过程名:IniTreeView
'* 功 能:初始化TreeView
'* 参 数:TreeView TreeView控件
'* 版 本:2006.01.05 颜志军 初版
'***********************************************************************
Public Sub IniTreeView(ByRef tvTreeViewCtl As TreeView)
'变量定义
Dim kindSet As clsMerchandisekindSet '商口类别集
Dim kind As clsMerchandisekind '商品类别
Dim currentNode As Node '当前节点
'生成对象
Set kindSet = New clsMerchandisekindSet
'清空TreeView中节点
tvTreeViewCtl.Nodes.Clear
'加入控件
For Each kind In kindSet
Set currentNode = tvTreeViewCtl.Nodes.Add(, tvwLast, _
KINDKEYPRE & CStr(kind.kindId), kind.kindName, 1)
'加入该类下的商品
IniMerchandiseInTreeView tvTreeViewCtl, currentNode.index, kind.kindId
Next
End Sub
'***********************************************************************
'* 过程名:IniMerchandiseInTreeView
'* 功 能:初始化类别下商品名
'* 参 数:TreeView TreeView控件
'* :Integer 类别节点index
'* :Integer 类别ID
'* 版 本:2006.01.05 颜志军 初版
'***********************************************************************
Private Sub IniMerchandiseInTreeView(ByRef tvTreeViewCtl As TreeView, _
ByVal index As Integer, _
ByVal kindId As Integer)
'变量定义
Dim merchandiseSet As clsMerchandiseinfoSet '商品集
Dim merchandise As clsMerchandiseinfo '商品
'取得指定类别下商品集
Set merchandiseSet = New clsMerchandiseinfoSet
merchandiseSet.LoadSetByKindId kindId
'加入控件
For Each merchandise In merchandiseSet
tvTreeViewCtl.Nodes.Add index, tvwChild, MERCHANDISEKEYPRE & _
CStr(merchandise.merchandiseId), merchandise.merchandiseName, 2
Next
End Sub
'***********************************************************************
'* 过程名:GetCurrentSel
'* 功 能:取得当前选择
'* 参 数:Integer 节点类型 1类别 2商品
'* :String 名称
'* :TreeView TreeView控件
'* 版 本:2006.01.06 颜志军 初版
'***********************************************************************
Private Sub GetCurrentSel(ByRef selKind As Integer, _
ByRef selName As String, _
ByRef tvTreeViewCtl As TreeView)
If Not tvTreeViewCtl.SelectedItem Is Nothing Then
'取得节点KEY及TEXT属性
Dim key As String
Dim itemName As String
key = tvTreeViewCtl.SelectedItem.key
itemName = tvTreeViewCtl.SelectedItem.Text
'分析节点
If InStr(key, KINDKEYPRE) > 0 Then '类别
selKind = 1
Else '商品
selKind = 2
End If
selName = itemName
Else
selKind = 0 '无选择节点
End If
End Sub
'***********************************************************************
'* 函数名:FindItemInListView
'* 功 能:在LISTVIEW中查找条目
'* 参 数:ListView 列表控件
'* :TreeView TreeView控件
'* 版 本:2006.01.06 颜志军 初版
'***********************************************************************
Private Function FindItemInListView(ByRef lvListViewCtl As ListView, _
ByVal col As Integer, _
ByVal flag As String) As Integer
'单独一行
Dim item As ListItem
For Each item In lvListViewCtl.ListItems
If col = 0 Then
If item.Text = flag Then
FindItemInListView = item.index
Exit Function
End If
ElseIf col > 0 And col <= item.ListSubItems.Count Then
If item.SubItems(col) = flag Then
FindItemInListView = item.index
Exit Function
End If
End If
Next
FindItemInListView = -1
End Function
'***********************************************************************
'* 过程名:UpdateSelectInList
'* 功 能:更新LISTVIEW选择条
'* 参 数:ListView 列表控件
'* :TreeView TreeView控件
'* 版 本:2006.01.06 颜志军 初版
'***********************************************************************
Public Sub UpdateSelectInList(ByRef lvListViewCtl As ListView, _
ByRef tvTreeViewCtl As TreeView)
'变量定义
Dim curSelKind As Integer '当前选择节点类型
Dim curSelName As String '当前选择节点内容
Dim index As Integer '更新的选择位置
'取得选择信息
GetCurrentSel curSelKind, curSelName, tvTreeViewCtl
'更新ListView选择条位置
Select Case g_listViewState
Case USERLIST
Case MEMBERSHOPLIST
Case MERCHANDISEKINDLIST
If curSelKind = 1 Then
index = FindItemInListView(lvListViewCtl, 1, curSelName)
End If
Case MERCHANDISELIST
If curSelKind = 1 Then
index = FindItemInListView(lvListViewCtl, 2, curSelName)
ElseIf curSelKind = 2 Then
index = FindItemInListView(lvListViewCtl, 1, curSelName)
End If
Case APPLYLIST
If curSelKind = 2 Then
index = FindItemInListView(lvListViewCtl, 2, curSelName)
End If
Case DAYREPORTLIST
If curSelKind = 2 Then
index = FindItemInListView(lvListViewCtl, 2, curSelName)
End If
Case REPORTDAY
If curSelKind = 1 Then
index = FindItemInListView(lvListViewCtl, 3, curSelName)
ElseIf curSelKind = 2 Then
index = FindItemInListView(lvListViewCtl, 2, curSelName)
End If
Case REPORTMON
If curSelKind = 1 Then
index = FindItemInListView(lvListViewCtl, 3, curSelName)
ElseIf curSelKind = 2 Then
index = FindItemInListView(lvListViewCtl, 2, curSelName)
End If
End Select
If index > 0 Then
lvListViewCtl.ListItems(index).Selected = True
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -