各位大虾们,我是刚注册的用户,分给得不多不要见怪
我用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
我用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
你自己找一下。