以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何实现根据单列内容生成目录树进行筛选或加载? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174395) |
-- 作者:lgz518 -- 发布时间:2022/1/13 14:21:00 -- 如何实现根据单列内容生成目录树进行筛选或加载? 根据单列内容生成目录树 例如有下表中的数据: 在窗口中加入一个目录树(TreeView),再加入一个按钮(Button),按钮的Click事件代码设置为: Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") 单击此按钮,即可生成下图所示的目录数: 问题一:能实现目录,但加下代码,未能实现按生成目录树进行筛选,如何解决? Dim Filter As String Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行 If e.Node.Text <> "显示所有行" Then Select Case e.Node.Level Case 0 Filter = "[类别] = \'" & dr("类别") & "\'" \'Case 1 \'Filter = "[产品] = \'" & dr("产品") & "\' And [客户] = \'" & dr("客户") & "\'" \'Case 2 \'Filter = "[产品] = \'" & dr("产品") & "\' And [客户] = \'" & dr("客户") & "\' And [雇员] = \'" & dr("雇员") & "\'" End Select End If Tables("表A").Filter = Filter 问题二,用窗口的插入筛选树,没有实现目录分级筛选,如何解决? 插入筛选树 从Foxtable 2022版开始,我们可以直接在窗口中插入内置的各种功能树。 我们先学习在窗口插入内置筛选树,关于筛选树的使用,可以参考:筛选树 示例一 1、打开CaseStudy目录下的示例文件: 基本功能演示.Table 2、新建一个窗口,在窗口中插入一个FilterTree控件。 3、在窗口的AfterLoad事件中加上代码: Dim trv As WinForm.FilterTree = e.Form.Controls("FilterTree1") |
-- 作者:有点蓝 -- 发布时间:2022/1/13 15:21:00 -- 首先代码不能生搬硬套,不要把A功能的部分代码硬套套到B功能上,测试错误就认为A功能的代码也是错误的。帮助提供了大量的代码实例,请认真理解帮助的使用环境和说明再用。而不是随意找2段代码组合到一起就能使用,这只能是断章取义。问题一的两段帮助的代码,在帮助里使用的表结构完全不一样的,组合到一起当然实现不了任何东西 |
-- 作者:lgz518 -- 发布时间:2022/1/13 16:12:00 -- 老师,问题一和问题二分别是用二种方法: 我们在目录树是主要作用是与表做筛选或加载 问题一:下面是根据内容生成目录,那如何它与与表做筛选或加载,如果无法实现与与表做筛选或加载,只是生成目录树,那没任何作用。 下面代码: 如何实现与表做筛选或加载?选择节点实现筛选 在窗口中加入一个目录树(TreeView),再加入一个按钮(Button),按钮的Click事件代码设置为: Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1") |
-- 作者:有点蓝 -- 发布时间:2022/1/13 16:45:00 -- 不是不能,而是乱用其它帮助的方法,又不会变通 If e.Node.Text <> "显示所有行" Then Tables("表A").Filter = "[类别] like \'" & e.node.FullPath & "%\'" end if [此贴子已经被作者于2022/1/13 16:46:06编辑过]
|