用TREEVIEW来显示数据库内的内容
对数据库内的内容进行增加或删除后TREEVIEW里的内容也要适当的修改
请问如何重置TREEVIEW里的内容比如combobox控件就有个clear可以清除掉所有控件里的内容。

解决方案 »

  1.   

    具说是快速清除treeview的代码,试一下
    Public Const TV_FIRST  As Long = &H1100
    Public Const TVM_GETNEXTITEM As Long = (TV_FIRST + 10)
    Public Const TVM_DELETEITEM  As Long = (TV_FIRST + 1)
    Public Const TVGN_ROOT As Long = &H0
    Public Const WM_SETREDRAW As Long = &HB
    Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    '
    ' Very fast Clearing of treeview control - Place this where required
    'Private Sub ClearTreeView(ByVal tvHwnd As Long)
    '
       Dim lNodeHandle As Long
    '
    ' Turn off redrawing on the Treeview for more speed improvements
    '
        SendMessageLong tvHwnd, WM_SETREDRAW, False, 0    Do
            lNodeHandle = SendMessageLong  (tvHwnd, TVM_GETNEXTITEM, TVGN_ROOT, 0)
             If lNodeHandle > 0 Then
                    SendMessageLong  tvHwnd, TVM_DELETEITEM, 0, lNodeHandle
             Else
                    Exit Do
             End If
        Loop    SendMessageLong tvHwnd, WM_SETREDRAW, True, 0
    End Sub
      

  2.   

    对数据库内的内容进行增加或删除后TREEVIEW里的内容也要适当的修改
    ///
       With frmMain.treeView1.Nodes
         .Clear
       end with
      

  3.   

    楼上的,我的TREEVIEW。NODES后面没有CLEAR嘛,出鬼了。
      

  4.   

    你做一个初始化Treeview的过程,当数据库改变的时候,在调用这个过程就行了,反正内容都是从数据库里读的,当然,要先用楼上的方法clear至于你说没有 clear,不可能,的确是见鬼了。