以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于目录树和动态加载 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57944) |
-- 作者:coolbhb -- 发布时间: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 |
-- 作者:有点甜 -- 发布时间:2014/10/8 20:44:00 -- 下面这段代码的意思是,只有你点击第4级节点,才设置筛选条件,你要把第一级、第二级、第三级的判断也加上才会每点击一下才显示你要的数据的。
Select Case e.Node.Level |
-- 作者:coolbhb -- 发布时间:2014/10/8 20:48:00 -- 这个我知道,但是不知道怎么判断,比如Case 0 然后如何让他不筛选也就是不加载数据? |
-- 作者:有点甜 -- 发布时间:2014/10/8 20:49:00 -- Select Case e.Node.Level Case 0 Filter = "1=2" |