⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdltreeview.vb

📁 <Visual Basic 数据库开发实例精粹(第二版)>一书首先介绍了Visual Basic(简称VB)开发的技巧和重点技术
💻 VB
字号:
Module mdlTreeView
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '对treeview操作的所有函数

  '将所有客户类型加入树型图
  Public Function TypesToTreeView(ByRef tvw As TreeView, _
                           Optional ByVal bAddRoot As Boolean = True) As String
    Dim ErrMsg As String = ""

    tvw.Nodes.Clear()

    Dim root As New TreeNode("所有客户")
    root.Tag = 0

    ErrMsg = LoadSubNodes(root)

    Dim i As Integer = 0
    Dim node As TreeNode
    If bAddRoot Then
      tvw.Nodes.Add(root)
    Else
      For Each node In root.Nodes
        tvw.Nodes.Add(node)
      Next
    End If

    tvw.ExpandAll()

    Return ErrMsg

  End Function

  '调用递归,显示树型的客户类型结构
  Private Function LoadSubNodes(ByRef node As TreeNode) As String
    Dim typeObj As New clientMgrBusiness.ClientType
    Dim dmType As clientMgrBusiness.ClientTypeDataModel
    Dim i As Integer
    Dim ErrMsg As String
    Dim Ary As New ArrayList
    '找到本级下的所有客户类型
    ErrMsg = typeObj.GetAllDirectSubTypes(Ary, node.Tag)

    Dim subNode As TreeNode
    For i = 0 To Ary.Count - 1
      dmType = Ary(i)
      '构造结点数据
      subNode = New TreeNode(dmType.TypeName)
      subNode.Tag = dmType.ID
      node.Nodes.Add(subNode)
      '递归加载下级客户类型.....
      LoadSubNodes(subNode)
    Next i

    Return ErrMsg
  End Function

  '将一个客户类型加入到树型图中
  Public Function AddTypeToTreeView(ByVal dmType As clientMgrBusiness.ClientTypeDataModel, _
                              ByRef tv As TreeView) As String

    Dim ErrMsg As String = ""

    ErrMsg = CheckSelectedNode(tv)
    If ErrMsg <> "" Then
      Return ErrMsg
    End If

    Dim node As New TreeNode(dmType.TypeName)
    node.Tag = dmType.ID
    tv.SelectedNode.Nodes.Add(node)

    Return ErrMsg

  End Function

  '从树型图中得到客户类型对象
  Public Function GetSelectedType(ByRef dmType As clientMgrBusiness.ClientTypeDataModel, _
                                  ByVal tv As TreeView) As String

    Dim ErrMsg As String = ""

    ErrMsg = CheckSelectedNode(tv)
    If ErrMsg <> "" Then
      Return ErrMsg
    End If

    Dim typeObj As New clientMgrBusiness.ClientType
    ErrMsg = typeObj.GetTypeInfo(dmType, tv.SelectedNode.Tag)

    Return ErrMsg
  End Function

  '将所有客户类型加入树型图
  Public Function SexTypeToTreeview(ByRef tvw As TreeView, _
                   ByVal SelectedSexType As clientMgrBusiness.dmSex) As String
    Dim ErrMsg As String = ""

    tvw.Nodes.Clear()

    Dim male As New TreeNode("男")
    male.Tag = clientMgrBusiness.dmSex.Male

    Dim female As New TreeNode("女")
    female.Tag = clientMgrBusiness.dmSex.Female

    tvw.Nodes.Add(male)
    tvw.Nodes.Add(female)
    If SelectedSexType = clientMgrBusiness.dmSex.Male Then
      tvw.SelectedNode = male
    Else
      tvw.SelectedNode = female
    End If

    tvw.ExpandAll()

    Return ErrMsg

  End Function

  Private Function CheckSelectedNode(ByVal tv As TreeView) As String
    If tv Is Nothing Then
      Return "TreeView未实例化"
    End If

    If tv.SelectedNode Is Nothing Then
      Return "没有选种结点"
    End If

    Return ""

  End Function
  '
  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

End Module

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -