各位大虾们,我是刚注册的用户,分给得不多不要见怪
我用treeview和listview做了个小程序
想在listview里实现增删改,希望各位赐教小弟,再次感谢!
部分原代码如下:
Private Sub Form_Load()
Dim mynode As Node
    MenuEnabled = False
    'mytoolbar.Enabled = False
    Show
    loginfrm.Show 1, Me
    mytree.LineStyle = tvwRootLines
    mytree.LabelEdit = tvwManual
'    mytree.Style = tvwTreelinesPlusMinusPictureText
    Set mynode = mytree.Nodes.Add(, , "root", "СÐͳ¬ÊÐͨÓýøÏú´æϵͳ", 8)
    mynode.Expanded = True
    Set mynode = mytree.Nodes.Add("root", tvwChild, "child1", "»ù±¾²Ù×÷", 8)
    Set mynode = mytree.Nodes.Add("child1", tvwChild, "childs1", "ÐÞ¸ÄÃÜÂë", 8)
    Set mynode = mytree.Nodes.Add("child1", tvwChild, "childs2", "ȨÏÞ¿ØÖÆ", 8)
    Set mynode = mytree.Nodes.Add("root", tvwChild, "child2", "»ù±¾ÐÅÏ¢", 8)
    Set mynode = mytree.Nodes.Add("child2", tvwChild, "childs3", "Ô±¹¤ÐÅÏ¢", 8)
    Set mynode = mytree.Nodes.Add("child2", tvwChild, "childs4", "ÉÌÆ·ÐÅÏ¢", 8)
    Set mynode = mytree.Nodes.Add("child2", tvwChild, "childs5", "ÉÌÆ·Àà±ð", 8)
    Set mynode = mytree.Nodes.Add("child2", tvwChild, "childs6", "¹©»õÉÌÐÅÏ¢", 8)
    Set mynode = mytree.Nodes.Add("root", tvwChild, "child3", "ÎïÁ÷", 8)
    Set mynode = mytree.Nodes.Add("child3", tvwChild, "childs7", "Èë¿â", 8)
    Set mynode = mytree.Nodes.Add("child3", tvwChild, "childs8", "³ö¿â", 8)
    Set mynode = mytree.Nodes.Add("root", tvwChild, "child4", "²éѯ±¨±í", 8)
    Set mynode = mytree.Nodes.Add("child4", tvwChild, "childs9", "¿â´æ²éѯ", 8)
    Set mynode = mytree.Nodes.Add("child4", tvwChild, "childs10", "Èë¿â²éѯ", 8)
    Set mynode = mytree.Nodes.Add("child4", tvwChild, "childs11", "³ö¿â²éѯ", 8)
End SubPrivate Sub Form_Resize()
    mytree.Height = sysfrm.Height - mytoolbar.Height - 670
    mylist.Height = sysfrm.Height - mytoolbar.Height - 670
    mylist.Width = sysfrm.Width
End SubPrivate Sub Form_Unload(Cancel As Integer)
Dim msgrlt As VbMsgBoxResult
    msgrlt = MsgBox("ÄúÈ·ÈÏÒªÍ˳ö±¾ÏµÍ³Âð£¿", vbYesNo + vbQuestion + vbDefaultButton2, "Í˳ö")
    If msgrlt = vbYes Then
        End
    Else
        Cancel = 1
    End If
End SubPrivate Sub mnuabout_Click()
    aboutfrm.Show
End SubPrivate Sub mnuexit_Click()
Dim msgrlt As VbMsgBoxResult
    msgrlt = MsgBox("ÄúÈ·ÈÏÒªÍ˳ö±¾ÏµÍ³Âð£¿", vbYesNo + vbQuestion + vbDefaultButton2, "Í˳ö")
    If msgrlt = vbYes Then
        End
    ElseIf msgrlt = vbNo Then
        Exit Sub
    End If
End SubPrivate Sub mnulogin_Click()
    loginfrm.Show 1, Me
End Sub
Private Sub mytoolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim lis As ListItem
Static i As Integer
Dim j As String
Dim k As Integer
Select Case Button.Key
    Case Is = "tbadd"
        If rs.EOF = True Then
            j = CStr(i)
            Set lis = mylist.ListItems.Add(, "J" & j, CStr(i))
            i = i + 1
        End If
    Case Is = "tbdel"
        mylist.ListItems.Remove (1)
    Case Is = "tbexit"
        Call mnuexit_Click
    Case Is = "tbhelp"
        Call mnuabout_Click
    Case Else
        'MsgBox "ûÓеã»÷Èκΰ´Å¥"
End Select
End SubPrivate Sub mytree_NodeClick(ByVal Node As MSComctlLib.Node)
Dim tblsql As String
Dim strconn As String
    strconn = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=СÐͳ¬ÊнøÏú´æ;Data Source=."
    Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    conn.ConnectionString = strconn
    mylist.ListItems.Clear
    mylist.ColumnHeaders.Clear
    mylist.GridLines = True
    Select Case Node.Key
        Case Is = "childs3"
            tblsql = "select * from Ô±¹¤±í"
            Call queryinfo(tblsql)
        Case Is = "childs4"
            tblsql = "select * from ÉÌÆ·±í"
            Call queryinfo(tblsql)
        Case Is = "childs5"
            tblsql = "select * from Àà±ð±í"
            Call queryinfo(tblsql)
        Case Is = "childs6"
            tblsql = "select * from ¹©»õÉ̱í"
            Call queryinfo(tblsql)
        Case Is = "childs7"
            tblsql = "select * from Èë¿â±í"
            Call queryinfo(tblsql)
        Case Is = "childs10"
            tblsql = "select * from Èë¿âÏêÇé"
            Call queryinfo(tblsql)
        Case Else
    End Select
End SubPublic Sub queryinfo(tblsql As String)
Dim lis As ListItem
Dim i As Integer
    Set rs = getrs(tblsql)
    For i = 0 To rs.Fields.Count - 1
        mylist.ColumnHeaders.Add , , rs.Fields(i).Name
    Next
    Do While rs.EOF = False
        Set lis = mylist.ListItems.Add(, "K" & rs(0), rs(0).Value)
        For i = 1 To rs.Fields.Count - 1
            lis.SubItems(i) = rs(i).Value
        Next
        rs.MoveNext
    Loop
    
End Sub