谁有多列下拉框并有抬头 的控件源代码,若有再送200分

解决方案 »

  1.   

    这个你可以用listview来做,主要是控制它的显示于隐藏问题。
    Private Sub Form_Load()
        Call Init_LvwInfo
        Call Refursh_Show
    End SubPrivate Sub Init_LvwInfo()
        ' 初始化lvwInfo
        With lvwInfo
            .View = lvwReport
            .FullRowSelect = True
            .LabelEdit = lvwManual
            .ColumnHeaders.Clear
            
            .ColumnHeaders.Add , , "行号", 800
            .ColumnHeaders.Add , , "Pc机编号", 2500
            .ColumnHeaders.Add , , "Pc机Ip地址", 3000
            .ColumnHeaders.Add , , "Pc机D口信息", 2500
            .ColumnHeaders.Add , , "网络打印机", .Width - 8800
            '.ColumnHeaders.Add , , "Id", 0
            '.Move 0, CoolBar1.Height + 100, Me.Width - 100, Me.Height - CoolBar1.Height - 800
        End With
    End SubPrivate Function Refursh_Show()
    ' 添加报表至lvwInfo
        Dim strNsSq As String
        Dim rst As New ADODB.Recordset
        Dim XItem As ListItem
        Dim lngIndex As Integer  ' 行号
        
        lvwInfo.ListItems.Clear    rst.Open "select * from pcxx", gCnn, adOpenStatic, adLockReadOnly, adCmdText
            lngIndex = 1
            If (rst.RecordCount <= 0) Then
                TbrMain.Buttons("mnuMod").Enabled = False
                TbrMain.Buttons("mnuDel").Enabled = False
            Else
                TbrMain.Buttons("mnuMod").Enabled = True
                TbrMain.Buttons("mnuDel").Enabled = True
                
                Do Until rst.EOF
                    Set XItem = lvwInfo.ListItems.Add(, "N" & rst!Id, lngIndex)
                    
                    XItem.SubItems(1) = Trim(rst!pch & "")  '主机编号
                    XItem.SubItems(2) = Trim(rst!pcIp & "")  '主机Ip地址
                    XItem.SubItems(3) = Trim(rst!dk & "")  'U口
                    XItem.SubItems(4) = Trim(rst!netprint & "")  '网络打印机现象
                    
                    lngIndex = lngIndex + 1
                    rst.MoveNext
                Loop
            End If
        rst.Close
    End Function