Foxtable(狐表)用户栏目专家坐堂 → 关于目录树和动态加载


  共有2407人关注过本帖树形打印复制链接

主题:关于目录树和动态加载

帅哥哟,离线,有人找我吗?
coolbhb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:60 积分:490 威望:0 精华:0 注册:2014/7/11 9:16:00
关于目录树和动态加载  发帖心情 Post By:2014/10/8 20:40:00 [只看该作者]

我想做一个像帮助文件这样的一个目录树,双击的时候展开节点但是不加载数据,只有单击或者双击目录树最底层的节点才加载数据呢?上代码帮忙修改下吧
代码如下:
 1 窗口afterload:
 Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT 供热站,小区,楼号,单元 from {客户信息}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"供热站|小区|楼号|单元")


  2 目录树的NodeMouseDoubleClick 或者NodeMouseClick
Dim Filter As String
Dim dr As DataRow = e.Node.DataRow 
If e.Node.Text <> "显示所有客户" Then
    Select Case e.Node.Level
        Case 3
            Filter = "[供热站] = '" & dr("供热站") & "' And [小区] = '" & dr("小区") & "' And [楼号] = '" & dr("楼号") & "' And [单元] = '" & dr("单元") & "'"
    End Select
End If
Tables("客户信息").Filter = Filter

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 20:44:00 [只看该作者]

下面这段代码的意思是,只有你点击第4级节点,才设置筛选条件,你要把第一级、第二级、第三级的判断也加上才会每点击一下才显示你要的数据的。

 

Select Case e.Node.Level
    Case 3
        Filter = "[供热站] = '" & dr("供热站") & "' And [小区] = '" & dr("小区") & "' And [楼号] = '" & dr("楼号") & "' And [单元] = '" & dr("单元") & "'"
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
coolbhb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:60 积分:490 威望:0 精华:0 注册:2014/7/11 9:16:00
  发帖心情 Post By:2014/10/8 20:48:00 [只看该作者]

这个我知道,但是不知道怎么判断,比如Case 0 然后如何让他不筛选也就是不加载数据?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 20:49:00 [只看该作者]

Select Case e.Node.Level

    Case 0

        Filter = "1=2"
    Case 3
        Filter = "[供热站] = '" & dr("供热站") & "' And [小区] = '" & dr("小区") & "' And [楼号] = '" & dr("楼号") & "' And [单元] = '" & dr("单元") & "'"
End Select


 回到顶部