Foxtable(狐表)用户栏目专家坐堂 → 目录树


  共有2023人关注过本帖树形打印复制链接

主题:目录树

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 9:44:00 [显示全部帖子]

目录树是怎么生成的?应该是e.Node.DataRow 是空的

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 10:13:00 [显示全部帖子]

先回答我问题好不好?目录树是怎么生成的?我明确问题在哪才能给你答案!

如果e.Node.DataRow 是空的就加个判断

Dim Filter As String
Dim d1 As Date
Dim d2 As Date
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
if dr is nothing then return
Dim Year As Integer = e.Node.DataRow("年")
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
....
按理这样的用法e.Node.DataRow 也不会是空的,所以也有可能是触发的其它事件的错误?

最简单的加个代码msgbox(dr is nothing) 也可以自己判断是不是这里的问题

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/26 11:21:00 [显示全部帖子]

Dim Filter As String
Dim d1 As Date
Dim d2 As Date
If e.Node.Text <> "显示所有行" Then
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
    Dim Year As Integer =dr("年")
    Select Case e.Node.Level
        Case 0
            Filter = "[公司名称] = '" & dr("公司名称") & "'"
        Case 1
            Filter = "[公司名称] = '" & dr("公司名称") & "' And [科目编号] = '" & dr("科目编号") & "'"
        Case 2
            d1 = New Date(Year,1,1) '取得该年的第一天
            d2 = new Date(Year,12,31) '取得该年的最后一天
            Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# and [公司名称] = '" & dr("公司名称") & "' And [科目编号] = '" & dr("科目编号") & "'"
    End Select
End If
Tables("明细分类_table1").Filter = Filter

 回到顶部