以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  邪门的目录树节点层数!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91025)

--  作者:lmlptj
--  发布时间:2016/9/27 22:51:00
--  邪门的目录树节点层数!

If e.Node.Index <> 0  Then
    MessageBox.Show(e.Node.Level)
End If


以上代码是不是每点击每一个Node,都得弹出该节点所在的层数???AfterSelectNode 事件!
我咋遇到:只有点击0层的时候每次都会出现弹框,大部分第一层都不显示,偶尔会显示;第二层只显示1个,点击其他第二层节点无任何弹出框


!!求解!

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

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

图2中无论我怎么点2016年,就是没有反映,但点了2017年,就会如图1所示!

[此贴子已经被作者于2016/9/27 22:53:58编辑过]

--  作者:有点蓝
--  发布时间:2016/9/27 23:01:00
--  
层数?
If e.Node.Level <> 0  Then
    MessageBox.Show(e.Node.Level)
End If

--  作者:有点蓝
--  发布时间:2016/9/27 23:02:00
--  
或者?
If e.Node.Level <> 0  Then
    MessageBox.Show(e.Node.Index )
End If

不明白想要做什么

--  作者:lmlptj
--  发布时间:2016/9/28 9:09:00
--  
Dim dt As DataTable = DataTables("残疾人主表")
If e.Node.Index <> 0  Then
    Dim filt As String
    Dim d1,d2 As Date
    Select Case e.Sender.SelectedNode.Level
        Case 0
            Dim dr As DataRow = e.Node.DataRow
            filt = "县市区 = \'" & dr("县市区") & "\'"
            dt.LoadFilter = filt
            dt.Load
        Case 1
            Dim dr As DataRow = e.Node.DataRow
            Dim y As Integer =dr("年")
            d1 = new Date(y,1,1)
            d2 = new Date(y,12,31)
            filt = "县市区 = \'" & dr("县市区") & "\' and 结算日期 >= #" & d1 & "# And 结算日期 <= #" & d2 & "#"
            dt.LoadFilter = filt
            dt.Load
        Case 2
            Dim dr As DataRow = e.Node.DataRow
            Dim y As Integer =dr("年")
            Dim jd As Integer = dr("季度")
            d1 = new Date(y,jd*3-2,1)
            d2 = new Date(y,jd*3,30)
            filt = "县市区 = \'" & dr("县市区") & "\' and 结算日期 >= #" & d1 & "# And 结算日期 <= #" & d2 & "#"
            dt.LoadFilter = filt
            dt.Load
    End Select
Else
    dt.LoadFilter = ""
    dt.Load
End If



此主题相关图片如下:1.png
按此在新窗口浏览图片

此主题相关图片如下:2.png
按此在新窗口浏览图片

此主题相关图片如下:3.png
按此在新窗口浏览图片
主要想执行以上代码,节点在0层的时候,可以执行代码,但到了1、2层,上述代码就不起作用了。
[此贴子已经被作者于2016/9/28 9:18:43编辑过]

--  作者:有点蓝
--  发布时间:2016/9/28 9:47:00
--  
Dim dt As DataTable = DataTables("残疾人主表")
    Dim filt As String
    Dim d1,d2 As Date
    Select Case e.Node.Level
        Case 0
            Dim dr As DataRow = e.Node.DataRow
            filt = "县市区 = \'" & dr("县市区") & "\'"
            dt.LoadFilter = filt
            dt.Load
        Case 1
            Dim dr As DataRow = e.Node.DataRow
            Dim y As Integer =dr("年")
            d1 = new Date(y,1,1)
            d2 = new Date(y,12,31)
            filt = "县市区 = \'" & dr("县市区") & "\' and 结算日期 >= #" & d1 & "# And 结算日期 <= #" & d2 & "#"
            dt.LoadFilter = filt
            dt.Load
        Case 2
            Dim dr As DataRow = e.Node.DataRow
            Dim y As Integer =dr("年")
            Dim jd As Integer = dr("季度")
            d1 = new Date(y,jd*3-2,1)
            d2 = new Date(y,jd*3,30)
            filt = "县市区 = \'" & dr("县市区") & "\' and 结算日期 >= #" & d1 & "# And 结算日期 <= #" & d2 & "#"
            dt.LoadFilter = filt
            dt.Load
    End Select
[此贴子已经被作者于2016/9/28 9:47:08编辑过]

--  作者:blackzhu
--  发布时间:2016/9/28 10:38:00
--  
Select Case e.Sender.SelectedNode.Level


 你这个是焦点节点的层数,只要是你点击的就是焦点节点


改成 e.node.level



就可以了
 

--  作者:lmlptj
--  发布时间:2016/9/28 11:36:00
--  
试过了,无效!
--  作者:lmlptj
--  发布时间:2016/9/28 11:41:00
--  
谢谢老师指导!!!追问一句:如何实现只要点击其中一个目录节点,其他已经展的节点自动收缩?
--  作者:有点蓝
--  发布时间:2016/9/28 12:06:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=91006