Foxtable(狐表)用户栏目专家坐堂 → 用列名作为筛选树节点名,怎样做截图那样


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

主题:用列名作为筛选树节点名,怎样做截图那样

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


加好友 发短信
等级:婴狐 帖子:49 积分:390 威望:0 精华:0 注册:2019/4/2 22:28:00
用列名作为筛选树节点名,怎样做截图那样  发帖心情 Post By:2019/11/18 20:48:00 [只看该作者]

建窗口设置一个筛选树,想将列名名称设置为一级节点,图片点击可在新窗口打开查看列内容作为二级,参考例子
做不来,应该怎样改?图片点击可在新窗口打开查看[upload=table,测试用.table]
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20191118204438.png
图片点击可在新窗口打开查看
iewFile.asp?ID=139106
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20191118204444.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/11/18 20:51:36编辑过]

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


加好友 发短信
等级:婴狐 帖子:49 积分:390 威望:0 精华:0 注册:2019/4/2 22:28:00
  发帖心情 Post By:2019/11/18 20:49:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试用.table


 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

For Each c As Col In Tables("表A").Cols
    Dim n As WinForm.TreeNode = trv.Nodes.Add(c.Name,c.Name)
    For Each c2 As String In DataTables("表A").GetValues(c.Name,c.Name & " is not null")
        n.Nodes.Add(c2,c2)
    Next
Next

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


加好友 发短信
等级:婴狐 帖子:49 积分:390 威望:0 精华:0 注册:2019/4/2 22:28:00
  发帖心情 Post By:2019/11/19 8:50:00 [只看该作者]

可不可以自定义?因为有些列用这个显示不太好,例如姓名,一列出来就特别多

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:39142 积分:199038 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/19 9:10:00 [只看该作者]

dim str() as string = {"某列1","某列2"}
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

For Each c As string In str
    Dim n As WinForm.TreeNode = trv.Nodes.Add(c,c)
    For Each c2 As String In DataTables("表A").GetValues(c,c & " is not null")
        n.Nodes.Add(c2,c2)
    Next
Next

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


加好友 发短信
等级:婴狐 帖子:49 积分:390 威望:0 精华:0 注册:2019/4/2 22:28:00
  发帖心情 Post By:2019/11/19 11:08:00 [只看该作者]

可以了,但节点下的筛选点击却没有反应,例如展开部门后,点击其中一个部门名称,表中没有只显示该部门的人员,这个代码怎样写?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:39142 积分:199038 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/19 11:19:00 [只看该作者]

Dim Filter As String
Dim d1 As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 1
            Filter = e.Node.ParentNode.Text & " = '" & e.Node.Text & "'"
    End Select
End If
Tables("表A").Filter = Filter

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


加好友 发短信
等级:婴狐 帖子:49 积分:390 威望:0 精华:0 注册:2019/4/2 22:28:00
  发帖心情 Post By:2019/11/19 14:21:00 [只看该作者]

以下是引用有点蓝在2019/11/19 11:19:00的发言:
Dim Filter As String
Dim d1 As String
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 1
            Filter = e.Node.ParentNode.Text & " = '" & e.Node.Text & "'"
    End Select
End If
Tables("表A").Filter = Filter


谢谢,可以了。和帮助例子只有一行代码不同,这行代码是什么意思:Filter = e.Node.ParentNode.Text & " = '" & e.Node.Text & "'"


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:39142 积分:199038 威望:0 精华:8 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/19 14:25:00 [只看该作者]

e.Node.ParentNode.Text是列名,e.Node.Text是值

msgbox(Filter )看看就知道了

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


加好友 发短信
等级:婴狐 帖子:49 积分:390 威望:0 精华:0 注册:2019/4/2 22:28:00
  发帖心情 Post By:2019/11/19 19:58:00 [只看该作者]

按照帮助“在筛选树显示统计数据”,生成了统计结果,但做不到在筛选树各个节点上显示统计数据
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试用.table



 回到顶部
总数 41 1 2 3 4 5 下一页