Foxtable(狐表)用户栏目专家坐堂 → 逻辑列的目录树。怎么filter


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

主题:逻辑列的目录树。怎么filter

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
逻辑列的目录树。怎么filter  发帖心情 Post By:2016/12/5 19:53:00 [只看该作者]

   Dim tv2 As WinForm.TreeView
    tv2 =e.Form.Controls("TreeView2")
    tv2.StopRedraw
    tv2.Nodes.Clear
    tv2.BuildTree(dt,"结帐|非活动|合同名称","","")
    tv2.Nodes.Insert("所有洽商",0)
    tv2.ResumeRedraw  
End If
上面的目录树:结帐,非活动。是逻辑列。(SQL外部数据)
在目录树显示时,显示的是:flase ture.(不是结帐)这种我应该怎么写生成树的代码?

Dim Filter As String
If e.node.Text = "所有洽商" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="结帐 ='" & dr("结帐") & "'"
        Case 1
            Filter ="结帐 ='" & dr("结帐") & "' and 非活动 ='" & dr("非活动") & "' "
        Case 1
            Filter =" 结帐 ='" & dr("结帐") & "' and 非活动 ='" & dr("非活动") & "' and 合同名称 = '" & dr("合同名称") & "' "
    End Select
End If
DataTables("洽商汇总").LoadFilter = Filter
DataTables("洽商汇总").Load()

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


加好友 发短信
等级:超级版主 帖子:110607 积分:562937 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/5 20:46:00 [只看该作者]

Dim tv2 As WinForm.TreeView
tv2 =e.Form.Controls("TreeView2")
tv2.StopRedraw
tv2.Nodes.Clear
tv2.BuildTree(dt,"结帐|非活动|合同名称","","")
For Each n1 As WinForm.TreeNode In tv2.Nodes
    If n1.Text.ToLower = "true" Then
        n1.Text = "已结帐"
    ElseIf n1.Text.ToLower = "false" Then
        n1.Text = "未结帐"
    End If
    For Each n1 As WinForm.TreeNode In n1.Nodes
        If n1.Text.ToLower = "true" Then
            n1.Text = "活动"
        ElseIf n1.Text.ToLower = "false" Then
            n1.Text = "非活动"
        End If
    Next
Next
tv2.Nodes.Insert("所有洽商",0)
tv2.ResumeRedraw

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/6 11:15:00 [只看该作者]

AfterSelectNode下写:弹错:标准表达式中数据类型不匹配。


Dim Filter As String = ""
If e.node.Text = "所有洽商" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
    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
DataTables("洽商汇总").LoadFilter = Filter
DataTables("洽商汇总").Load()

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


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

Filter ="结帐 =" & dr("结帐") 

逻辑列不要加引号,其它自己改改

 回到顶部