zoukankan      html  css  js  c++  java
  • 完整的treeview菜单实例

    以下是我用treeview控件按部门员工显示设备领用情况代码.

    Option Compare Database
        Dim rec As New ADODB.Recordset
        Dim recPlant As New ADODB.Recordset
        Dim nodindex As Node
        Dim keyDepa, strDepa
        Dim keyEm, strEm
        Dim keyPl, strPl
    Private Sub Form_Load()
        AutoMxID
        '设置第一级"部门"
        rec.Open "qry部门_升序", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
        For I = 0 To rec.RecordCount - 1
            Set nodindex = Treeview.Nodes.Add(, , "部门" & rec.Fields("depaID"), rec.Fields("depa"), "k1", "k2")
            rec.MoveNext
        Next
        rec.Close
        nodindex.Sorted = False
        '设置第二级"员工"
        '* ---------------------------
        rec.Open "qry员工_升序", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
        For I = 0 To rec.RecordCount - 1
            Set nodindex = Treeview.Nodes.Add("部门" & rec.Fields("depaID"), tvwChild, "员工" & rec.Fields("emID"), rec.Fields("emName"), "k1", "k2")
            recPlant.Open "Select tblplant.plantid, tblplant.plant, tblplant.emid" & " FROM qry员工使用的设备" & " Where tblplant.emid = '" & rec.Fields("emID") & "'", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
            For N = 0 To recPlant.RecordCount - 1
                Set nodindex = Treeview.Nodes.Add("员工" & recPlant.Fields("emID"), tvwChild, "设备" & recPlant.Fields("PlantID"), recPlant.Fields("Plant"), "k1", "k2")
                nodindex.Sorted = True
                recPlant.MoveNext
            Next N
            recPlant.Close
            nodindex.Sorted = True
            rec.MoveNext
        Next I
        rec.Close
    End Sub

    Private Sub Treeview_NodeClick(ByVal Node As Object)
        Dim nodindex As Node
       点击事件为NodeClick
        If Node.Key Like "部门*" Then
            keyDepa = Mid(Node.Key, 3)
            strDepa = Node.Text: Me.申报部门 = strDepa
        End If
        If Node.Key Like "员工*" Then
            keyEm = Mid(Node.Key, 3)
            strEm = Node.Text: Me.申报员工 = strEm
        End If

        If Node.Key Like "设备*" Then
            keyPl = Mid(Node.Key, 3)
            strPl = Node.Text: Me.设备名称 = strPl: Me.设备编号 = keyPl
        End If
    End Sub

    方法二:treeview树节点及子窗体联动

    Private Sub form_load()
    Dim I As Integer
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM menu;") '以要链接的表建立记录集
    If rst.RecordCount = 0 Then MsgBox "表中无数据!程序终止。": Exit Sub '如果链接表无数据
    I = 1
    rst.MoveFirst '记录首
    While Not rst.EOF '循环记录
    With Me.TreeView0.Nodes '每循环1条记录添加一个分类
    .Add , 4, "s" & I, "" & rst(1) & ""
    End With
    I = I + 1
    Me.win.SourceObject = "窗体1"
    rst.MoveNext '下一条记录
    Wend
    End Sub

    Private Sub TreeView0_Click()
    If TreeView0.SelectedItem.Children = 0 Then '检查是否有子节点,0为无
    For T = 1 To TreeView0.Nodes.Count
    If TreeView0.Nodes(T).Selected Then
    'MsgBox "您选择的是:" & TreeView0.Nodes(T).FullPath & "子节点!" '系统提示
    Me.win.SourceObject = "窗体1"
    End If
    Next T
    End If
    End Sub

  • 相关阅读:
    Spark监控官方文档学习笔记
    Maven打包排除某个资源或者目录
    源码中的哲学——通过构建者模式创建SparkSession
    CentOS7启动Tomcat报错:./startup.sh: Permission denied
    Centos7 安装 redis
    centos7 查找jdk 安装路径
    Activemq(centos7)开机自启动服务
    /var/run/redis_6379.pid exists, process is already running or crashed解决方案
    activeMQ 修改端口号
    CentOS7.5 通过wget下载文件到指定目录
  • 原文地址:https://www.cnblogs.com/ince/p/8983265.html
Copyright © 2011-2022 走看看