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


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

主题:目录树

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


加好友 发短信
等级:四尾狐 帖子:820 积分:9274 威望:0 精华:0 注册:2017/1/26 14:38:00
目录树  发帖心情 Post By:2019/3/3 22:43:00 [只看该作者]

目录树NodeMoseclick事件点击已完成、年、月都正常,但是加载所有行和刷新,报错:"未将对象引用设置到对象的实例。"这是为什么,代码见附件?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.txt


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/3 22:45:00 [只看该作者]

Dim t As Table = e.Form.Controls("Table1").Table
Dim dt As DataTable = e.Form.Controls("Table1").Table.DataTable
If e.node.Text = "加载所有行" Then
    Filter = ""
    With dt
        .LoadFilter = Filter '设置加载条件
        .LoadPage = 0 '加载第一页
        .LoadTop = 50 '每页5行
        .Load()
        e.Form.Controls("TextBox页数").Value = 1 & "/" & .TotalPages
    End With
Else If e.node.Text = "刷新" Then
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")

    Dim Filter As String
    Dim cmd As New SQLCommand

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


加好友 发短信
等级:四尾狐 帖子:820 积分:9274 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2019/3/4 9:10:00 [只看该作者]

加载所有行可以了,刷新还是同样报错

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/4 9:48:00 [只看该作者]

Dim t As Table = e.Form.Controls("Table1").Table
Dim dt As DataTable = e.Form.Controls("Table1").Table.DataTable
Dim Filter As String
If e.node.Text = "加载所有行" Then
    Filter = ""
    With dt
        .LoadFilter = Filter '设置加载条件
        .LoadPage = 0 '加载第一页
        .LoadTop = 50 '每页5行
        .Load()
        e.Form.Controls("TextBox页数").Value = 1 & "/" & .TotalPages
    End With
Else If e.node.Text = "刷新" Then
    Dim cmd As New SQLCommand
    cmd.C
    Dim dt0 As DataTable
    cmd.CommandText = "SELECT DISTINCT 已完成,Year(完成日期) As 年, Month(完成日期) As 月 From {工作安排}"
    dt0 = cmd.ExecuteReader()
    Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
    trv.BuildTree(dt0,"已完成|年|月")
    For Each nd As WinForm.TreeNode In trv.AllNodes
        Select Case nd.Level
            Case 0
                If nd.Text = "True"
                    nd.Text = "已完成"
                Else
                    nd.Text = "未完成"
                End If
            Case 1
                nd.Text = nd.text & "年"
            Case 2
                nd.Text = nd.text & "月"
        End Select
    Next
    trv.Nodes.Insert("加载所有行",0)
    trv.Nodes.Insert("刷新",0)
Else
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter = "[已完成] = '" & dr("已完成") & "'"
        Case 1
            Filter = "[已完成] = '" & dr("已完成") & "'" & " And Year(完成日期) = " & Year
        Case 2
            Filter = "[已完成] = '" & dr("已完成") & "'" & " And Year(完成日期) = " & Year & " And Month(完成日期) = " & Month
    End Select
    With dt
        .LoadFilter = Filter '设置加载条件
        .LoadPage = 0 '加载第一页
        .LoadTop = 50 '每页5行
        .Load()
        e.Form.Controls("TextBox页数").Value = 1 & "/" & .TotalPages
    End With
End If
t.AutoSizeCols()

[此贴子已经被作者于2019/3/4 9:48:09编辑过]

 回到顶部