Foxtable(狐表)用户栏目专家坐堂 → 目录树


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

主题:目录树

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:711 积分:3952 威望:0 精华:0 注册:2019/4/6 8:45:00
目录树  发帖心情 Post By:2021/2/18 12:41:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210218121615.png
图片点击可在新窗口打开查看
如何把这样的表做成安分类生成的不同子节目录树,如这样:
分类
  -月租停车
      -巷
        -号
          -房
分类
  -临时停车
       -车牌号码
我知道只要把数据安一、二、三、四、五级重新整理到相应的列就能实现,但这样会破坏表结构,不方便录入,如何在不破坏表结构下生成要实现的目录树?


 

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


加好友 发短信
等级:超级版主 帖子:65401 积分:331551 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/18 13:10:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:711 积分:3952 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/2/18 20:26:00 [只看该作者]

我这样写造成主界面窗口无法保存,无法预览,一保存直接死机!未改主界面窗口中的AfterLoad事件代码前,都一直没问题的,改后死机了!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理2021012901.foxdb

密码:888888
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT [_Identify],分类,住址_序号,住址_巷,住址_号,住址_房,Year(日期) As 年, Month(日期) As 月,户主姓名,手机号码,车牌号码 Fro m {车辆基本信息}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView2")
trv.BuildTree(dt,"住址_巷|住址_号|住址_房|户主姓名|手机号码|车牌号码","[分类] = '月租停车'","住址_序号,住址_号,住址_房")
'trv.Nodes.Insert("加载临时停车数据",0)
trv.Nodes.Insert("月租停车",0)
Do While trv.Nodes.Count > 1
    trv.Nodes(1).MoveRight
Loop
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv2.BuildTree(dt,"年|月|车牌号码","[分类] = '临时停车'","年 DESC,月 DESC")
'trv2.Nodes.Insert("加载临时停车数据",0)
Dim node As WinForm.TreeNode = trv.Nodes.Add("临时停车")
For i As Integer = trv2.Nodes.Count - 1 To 0 Step -1
    Dim nn As WinForm.TreeNode = trv2.Nodes(i)
    trv2.Nodes.RemoveAt(i)
    node.basenode.Nodes.Add(nn.basenode)
Next
'加载第一页数据
With DataTables("车辆基本信息")
    .LoadFilter = "" '清除加载条件
    .LoadPage = 0 '加载第一页
    .LoadTop = 20 '每页5行
    .LoadOrder = "分类,住址_序号,住址_号,住址_房"
    .LoadReverse = True
    .Load()
    e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With


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


加好友 发短信
等级:超级版主 帖子:65401 积分:331551 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/18 20:54:00 [只看该作者]

需要至少2个目录树控件,另外一个可以隐藏,作为过渡使用。

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView2")
……
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeViewxx")

原理很简单,目录树1BuildTree生成月租停车节点后右移到"月租停车"节点里;目录树2BuildTree生成临时停车节点后移到目录树1的“临时停车”节点里
[此贴子已经被作者于2021/2/18 20:57:10编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:711 积分:3952 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/2/18 21:14:00 [只看该作者]

另一个目录树是否把可见设为False

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


加好友 发短信
等级:超级版主 帖子:65401 积分:331551 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/18 21:26:00 [只看该作者]

需要至少2个目录树控件,另外一个可以隐藏,作为过渡使用。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:711 积分:3952 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/2/18 21:29:00 [只看该作者]

我叠加了一个目录树了,把可见性设为False,代码写成这样,还是不能预览。

Dim cmd As New SQLCommand
Dim dt As DataTable
'cmd.C '内部数据源,这行代码不需要
cmd.CommandText = "SELECT [_Identify],分类,住址_序号,住址_巷,住址_号,住址_房,Year(日期) As 年, Month(日期) As 月,户主姓名,手机号码,车牌号码 Fro m {车辆基本信息}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView2")
trv.BuildTree(dt,"住址_巷|住址_号|住址_房|户主姓名|手机号码|车牌号码","[分类] = '月租停车'","住址_序号,住址_号,住址_房")
'trv.Nodes.Insert("加载临时停车数据",0)
trv.Nodes.Insert("月租停车",0)
Do While trv.Nodes.Count > 1
    trv.Nodes(1).MoveRight
Loop
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView3")
trv2.BuildTree(dt,"年|月|车牌号码","[分类] = '临时停车'","年 DESC,月 DESC")
'trv2.Nodes.Insert("加载临时停车数据",0)
Dim node As WinForm.TreeNode = trv.Nodes.Add("临时停车")
For i As Integer = trv2.Nodes.Count - 1 To 0 Step -1
    Dim nn As WinForm.TreeNode = trv2.Nodes(i)
    trv2.Nodes.RemoveAt(i)
    node.basenode.Nodes.Add(nn.basenode)
Next
'加载第一页数据
With DataTables("车辆基本信息")
    .LoadFilter = "" '清除加载条件
    .LoadPage = 0 '加载第一页
    .LoadTop = 20 '每页5行
    .LoadOrder = "分类,住址_序号,住址_号,住址_房"
    .LoadReverse = True
    .Load()
    e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:711 积分:3952 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/2/18 21:39:00 [只看该作者]

不叠加,把它上下连接,都设为可见,还是不能预览。
重新打开无法正常打开,显示这个无法消失

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210218213648.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理2021021801.foxdb


[此贴子已经被作者于2021/2/18 23:06:29编辑过]

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


加好友 发短信
等级:超级版主 帖子:65401 积分:331551 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/18 21:42:00 [只看该作者]

测试没有问题,提示什么错误?

另外,目录树的勾选事件代码要需要改的,需要判断 一下勾选的节点是哪一个分类的,然后对应处理那一个分类的加载条件

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:711 积分:3952 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/2/18 23:05:00 [只看该作者]

没有提示,可以保存,就是无法预览,无法正常打开,我改为上面上传的这样又如何实现分页加载呢?感觉分成上下两个目录树,视觉上差不多,但刷新目录树、查找按钮都没用了。

 回到顶部
总数 77 1 2 3 4 5 6 7 8 下一页