以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自定义函数返回值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119226)

--  作者:blsu33
--  发布时间:2018/5/20 22:27:00
--  [求助]自定义函数返回值
老师,
   不知道 筛选为何不能实现?
下面是自定义窗口全局click事件,全部的筛选 失效 不知道为什么呢?
Dim trv As WinForm.TreeView=e.Sender
Dim nods As WinForm.TreeNode=trv.SelectedNode
If nods.Name = "全部" Then
            If nods.Checked = True Then
                For Each nd In trv.AllNodes
                    If nd.Name <> "全部" Then
                        nd.Checked = False
                    End If
                Next
MessageBox.Show(nods.Checked ),这块弹窗是True
               tb.Table.Filter =""
Return True
            Else
                For Each nd In trv.AllNodes
                    nd.Checked = False
                Next
               tb.Table.Filter = "1=2"
            End If
            trv.CollapseAll
           \' Return Nothing

[此贴子已经被作者于2018/5/20 22:28:14编辑过]

--  作者:有点甜
--  发布时间:2018/5/20 22:30:00
--  

1、加入msgbox,看能否弹出值;

 

2、没看懂你代码什么意思,请做一个例子说明。


--  作者:blsu33
--  发布时间:2018/5/20 22:41:00
--  
哦 做一个   这个表是 FILL进来的  下面红的代码 没有效果 取消全部筛选。
Dim trv As WinForm.TreeView=e.Sender
Dim nods As WinForm.TreeNode=trv.SelectedNode
If nods.Name = "全部" Then
            If nods.Checked = True Then
                For Each nd In trv.AllNodes
                    If nd.Name <> "全部" Then
                        nd.Checked = False
                    End If
                Next
MessageBox.Show(nods.Checked ),这块弹窗是True
               tb.Table.Filter =""
Return True
            Else
                For Each nd In trv.AllNodes
                    nd.Checked = False
                Next
               tb.Table.Filter = "1=2"
            End If
            trv.CollapseAll
           \' Return Nothing


--  作者:blsu33
--  发布时间:2018/5/20 22:46:00
--  
好像可以了
Dim trv As WinForm.TreeView=e.Sender
Dim nods As WinForm.TreeNode=trv.SelectedNode
If nods.Name = "全部" Then
            If nods.Checked = True Then
                For Each nd In trv.AllNodes
                    If nd.Name <> "全部" Then
                        nd.Checked = true
                    End If
                Next
MessageBox.Show(nods.Checked ),这块弹窗是True
               tb.Table.Filter =""
Return True
            Else
                For Each nd In trv.AllNodes
                    nd.Checked = False
                Next
               tb.Table.Filter = "1=2"
            End If
            trv.CollapseAll
           \' Return Nothing

--  作者:有点甜
--  发布时间:2018/5/20 22:51:00
--  
如果直接执行,如 tb.Table.Filter = "" 呢?能否设置筛选?