以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]已经上传附件!!通过BuildTree,add,insert,这三种方式建立的节点,调用方式有什么区别吗?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68535)

--  作者:klg1011
--  发布时间:2015/5/20 8:37:00
--  [求助]已经上传附件!!通过BuildTree,add,insert,这三种方式建立的节点,调用方式有什么区别吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树.zip

通过
BuildTree,add,insert,这三种方式建立的节点,调用方式有什么区别吗?通过帮助可以看到BuildTree建立的节点可以用e.Node.Level调用,通过add,insert建立的节点可以用e.node.Name调用。但是add增加的二级节点如何调用啊,我用e.node.Name试了试不行。
???


[此贴子已经被作者于2015/5/20 10:07:02编辑过]

--  作者:Bin
--  发布时间:2015/5/20 8:39:00
--  
没区别.
--  作者:Bin
--  发布时间:2015/5/20 8:39:00
--  
不可以是你做法不对,发代码或者上例子看看
--  作者:klg1011
--  发布时间:2015/5/20 9:02:00
--  
??怎么无法回复了
--  作者:大红袍
--  发布时间:2015/5/20 9:14:00
--  
 上传例子说明你想实现什么
--  作者:klg1011
--  发布时间:2015/5/20 9:41:00
--  
老师,已经上传附件了!!!我点击产品节点,无法正常筛选。请帮忙看看。
--  作者:klg1011
--  发布时间:2015/5/20 10:07:00
--  
老师们,帮忙看看啊!!
--  作者:大红袍
--  发布时间:2015/5/20 10:16:00
--  
Dim Filter As String
Dim pstr As String = e.Sender.SelectedNode.FullPath.Split("\\")(0)
Select Case pstr   \'对所选树的节点的内容来做判断
    Case "显示全部订单"
        Filter =""
    Case "产品"
        Select Case e.node.Level
            Case 0
               
            Case 1
                Filter = "产品 = \'" & e.Node.Name & "\'"
        End Select
    Case Else
        Dim d1 As Date
        Dim d2 As Date
        Dim Year As Integer = e.Node.DataRow("年")
        Dim Month As Integer = e.Node.DataRow("月")
        Dim Product As String = e.Node.DataRow("产品")
        Select Case e.Node.Level
            Case 0
                d1 = New Date(Year,1,1) \'取得该年的第一天
                d2 = new Date(Year,12,31) \'取得该年的最后一天
                Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
            Case 1
                d1 = New Date(Year, Month, 1) \'取得该月的第一天
                d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
                Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
            Case 2
                d1 = New Date(Year, Month, 1) \'取得该月的第一天
                d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天
                Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = \'" & Product & "\'"
        End Select
End Select
Tables("订单").Filter = Filter

--  作者:Bin
--  发布时间:2015/5/20 10:18:00
--  
[此贴子已经被作者于2015/5/20 10:20:26编辑过]

--  作者:klg1011
--  发布时间:2015/5/20 12:24:00
--  
谢谢大红袍老师!!!代码没问题。但有几个疑问:
1、为什么不用e.Sender.SelectedNode.name,而是用e.Sender.SelectedNode.FullPath.Split("\\")(0)?
2、.Split("\\")(0)怎么理解?尤其是(0)代表什么意思?我在网上找了Split的用法,但却没找到相关的介绍。