以文本方式查看主题 - 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中无论我怎么点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
主要想执行以上代码,节点在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 |