Foxtable(狐表)用户栏目专家坐堂 → [求助] 复选框目录树 增加节点


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

主题:[求助] 复选框目录树 增加节点

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/14 3:21:00 [显示全部帖子]

^_^,我都以为您是要给大家分享问题,都没有看!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/14 3:23:00 [显示全部帖子]

仔仔细细看完这个帖子,您就知道为啥,您的问题也就迎刃而解了!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/14 12:47:00 [显示全部帖子]

Dim trv As WinForm.TreeView = e.Sender
Dim flt,a,b,c As String
For Each nd As WinForm.TreeNode In e.node.Nodes '同步子节点选中状态
    nd.Checked = e.Node.Checked
Next
If e.node.ParentNode IsNot Nothing Then '去掉父节点选中状态
    e.node.ParentNode.Checked = False
End If
If nd.Level > 0 AndAlso nd.ParentNode.Checked Then '如果父节点选中
    For Each nd As WinForm.TreeNode In trv.AllNodes
        If nd.Checked Then
            If nd.Level = 0 Then '注意下面的条件都要用括号括起来
                a = nd.Text
                flt = " 审核 = '" & a & "'"
            End If
            If nd.Level = 1 Then
                b = nd.Text
                flt = "审核 = '" & a & "' And 客户 = '" & b & "'"
            End If
            If nd.Level = 2 Then
                c = nd.Text
                flt = "审核 = '" & a & "' And 客户 = '" & b & "' And 款号= '" & c & "'"
            End If
        End If
    Next
End If
Tables("订单标准").Filter = flt


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/14 13:04:00 [显示全部帖子]

无文件,没法测试,去掉判断看看什么现象:

 

Dim trv As WinForm.TreeView = e.Sender
Dim flt,a,b,c As String
For Each nd As WinForm.TreeNode In e.node.Nodes '同步子节点选中状态
    nd.Checked = e.Node.Checked
Next
If e.node.ParentNode IsNot Nothing Then '去掉父节点选中状态
    e.node.ParentNode.Checked = False
End If
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Checked Then
        If nd.Level = 0 Then '注意下面的条件都要用括号括起来
            a = nd.Text
            flt = " 审核 = '" & a & "'"
        End If
        If nd.Level = 1 Then
            b = nd.Text
            flt = "审核 = '" & a & "' And 客户 = '" & b & "'"
        End If
        If nd.Level = 2 Then
            c = nd.Text
            flt = "审核 = '" & a & "' And 客户 = '" & b & "' And 款号= '" & c & "'"
        End If
    End If
Next
Tables("订单标准").Filter = flt


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/7/14 13:11:00 [显示全部帖子]

呵呵,刚刚没去掉就给您了原来复制的:

 

Dim trv As WinForm.TreeView = e.Sender
Dim flt,a,b,c As String
For Each nd As WinForm.TreeNode In e.node.Nodes '同步子节点选中状态
    nd.Checked = e.Node.Checked
Next
If e.node.ParentNode IsNot Nothing Then '去掉父节点选中状态
    e.node.ParentNode.Checked = False
End If
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Checked Then
        If nd.Level = 0 Then '注意下面的条件都要用括号括起来
            a = nd.Text
            flt = " 审核 = '" & a & "'"
        End If
        If nd.Level = 1 Then
            b = nd.Text
            flt = "审核 = '" & a & "' And 客户 = '" & b & "'"
        End If
        If nd.Level = 2 Then
            c = nd.Text
            flt = "审核 = '" & a & "' And 客户 = '" & b & "' And 款号= '" & c & "'"
        End If
    End If
Next
Tables("订单标准").Filter = flt


 回到顶部