以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 目录树多种显示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192628) |
-- 作者:15666282205 -- 发布时间:2024/7/8 10:59:00 -- 目录树多种显示 老师,目录树首先按“类别“显示,点击节点显示表的内容,现在加了一个按钮,转换为按日期显示,可是点击节点的代码就报错了。怎么设置一下,如果原来的代码不能运行,则运行另一组代码,请您指导,下面是两组代码,要解决怎么自动转换的问题。 按“类别”选择的代码: Dim Filter As String = "" If e.node.Name <> "所有行" Then \'要用Name属性,不能用Text属性 Dim Product1 As String = e.Node.DataRow("状态") Dim Product2 As String = e.Node.DataRow("类别") Select Case e.Node.Level Case 0 Filter = "[类别] = \'" & e.Node.DataRow("类别") & "\'" Case 1 Filter = "[类别] = \'" & e.Node.DataRow("类别") & "\'And 状态 = \'" & Product1 & "\'" End Select End If DataTables("生产计划表").LoadFilter = Filter DataTables("生产计划表").Load() 如果上面的代码不能正常运行,则运行下面的代码。下面是按日期选择的代码(不全,代表实际的代码): \'\'------------------------------------筛选树(按日期)------------------------------------------------------------------------------- \'Dim Filter As String = "" \'If e.node.Name <> "显示所有行" Then \'要用Name属性,不能用Text属性 \'Dim d1 As Date \'Dim d2 As Date \'Dim Year As Integer = e.Node.DataRow("年") \'Dim Month As Integer = e.Node.DataRow("月") \'Dim day As Integer = e.Node.DataRow("日") \'Dim Product As String = e.Node.DataRow("购买单位") |
-- 作者:有点蓝 -- 发布时间:2024/7/8 11:33:00 -- 增加一个全局变量区分,按类别显示时,给变量赋值“类别”,按日期显示时,给变量赋值“日期”,然后目录树点击事件 Dim Filter As String = "" if vars("某变量") = "类别" then 调用上面第一段使用类别的代码 else 调用上面第二段使用时间的代码 end if
|
-- 作者:15666282205 -- 发布时间:2024/7/8 12:43:00 -- 老师,这个地方我不大明白:if vars("某变量") = "类别" then,是什么意思?我搜了帮助也没看明白,麻烦您说说好吗? |
-- 作者:有点蓝 -- 发布时间:2024/7/8 13:35:00 -- vars就是全局变量:http://www.foxtable.com/webhelp/topics/0325.htm 【按类别显示时,给变量赋值“类别”,按日期显示时,给变量赋值“日期”】 if vars("某变量") = "类别" then表示如果变量为"类别",说明目录树是按类别分类的
|
-- 作者:15666282205 -- 发布时间:2024/7/8 14:28:00 -- 会了,谢谢 |