以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]在窗口中,单击目录树节点,在窗口表中显示筛选内容。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141225)

--  作者:bashanren
--  发布时间:2019/9/24 16:41:00
--  [求助]在窗口中,单击目录树节点,在窗口表中显示筛选内容。
各位老师下午好!
以下代码是在窗口中和目录树和表,想单击目录树某层节点时,窗口表中的行按所单击的目录树节点进行筛选,我这段代码提示错误是:“未将对象引用设置到对象的实例。”,请老师指导,谢谢!!

Dim flt As String
\'For Each nd As WinForm.TreeNode In trv.AllNodes
Dim nd As WinForm.TreeNode
    If e.Node.Text <> "" Then
        Select Case e.Node.Level
            Case 0
                flt = flt & "( HLMC = \'" & nd.Text & "\')"
            Case 1
                flt = flt & "( HLMC = \'" & nd.ParentNode.Text & "\' And DMMC = \'" & nd.Text & "\')"                
        End Select
    End If    
\'Next
Tables("监测登记_witable").Filter = flt
Tables("监测登记_witable").SetColVisibleWidth("YEAR|60|MONTH|40|HLMC|50|DMMC|120|XZQY|50|ZHPJLB|80|SNDB|60")

--  作者:有点蓝
--  发布时间:2019/9/24 17:21:00
--  
代码在什么事件?自己调试看是那一句代码有问题

关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。

--  作者:bashanren
--  发布时间:2019/9/24 22:42:00
--  

谢谢“蓝”老师!

如图所示,我想:在单击左边目录树节点(如:巴河)时,右边表格自动筛选“HLMC”等于节点名称的行。我将下面代码写在目录树的“NodeMouseClick”事件中的,可总是提示错误,还请老师指导,谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

目录树“NodeMouseClick”的代码为:

 

Dim flt As String
\'For Each nd As WinForm.TreeNode In trv.AllNodes
Dim nd As WinForm.TreeNode
    If e.Node.Text <> "" Then
        Select Case e.Node.Level
            Case 0
                flt = flt & "( HLMC = \'" & nd.Text & "\')"
            Case 1
                flt = flt & "( HLMC = \'" & nd.ParentNode.Text & "\' And DMMC = \'" & nd.Text & "\')"                
        End Select
    End If    
\'Next
Tables("监测登记_witable").Filter = flt
Tables("监测登记_witable").SetColVisibleWidth("YEAR|60|MONTH|40|HLMC|50|DMMC|120|XZQY|50|ZHPJLB|80|SNDB|60")


 


 

[此贴子已经被作者于2019/9/24 22:42:30编辑过]

--  作者:有点蓝
--  发布时间:2019/9/24 22:54:00
--  
Dim flt As String = ""
Dim nd As WinForm.TreeNode
    If e.Node.Text > "" Then
        Select Case e.Node.Level
            Case 0
                flt = " HLMC = \'" & nd.Text & "\'"
            Case 1
                flt = "HLMC = \'" & nd.ParentNode.Text & "\' And DMMC = \'" & nd.Text & "\'"                
        End Select
    End If    
Tables("监测登记_witable").Filter = flt

--  作者:bashanren
--  发布时间:2019/9/24 23:11:00
--  

谢谢!!

还是不行呀,老师,提示为:未将对象引用设置到对象的实例。


--  作者:有点蓝
--  发布时间:2019/9/24 23:14:00
--  
Dim flt As String = ""
    If e.Node.Text > "" Then
        Select Case e.Node.Level
            Case 0
                flt = " HLMC = \'" & e.Node.Text & "\'"
            Case 1
                flt = "HLMC = \'" & e.Node.ParentNode.Text & "\' And DMMC = \'" & e.Node.Text & "\'"                
        End Select
    End If    
Tables("监测登记_witable").Filter = flt

--  作者:bashanren
--  发布时间:2019/9/24 23:25:00
--  
可以了,非常感谢“蓝”老师,深夜辛苦了!