以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]我想在目录树上增加一个节点,能选择后正常打印,需要改哪些控件代码?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173760)

--  作者:zgjmost
--  发布时间:2021/12/15 0:18:00
--  [求助]我想在目录树上增加一个节点,能选择后正常打印,需要改哪些控件代码?
[求助]我想在目录树上增加一个考试地址的节点,能选择后正常打印,需要改哪些控件代码?


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




--  作者:有点蓝
--  发布时间:2021/12/15 8:37:00
--  
增加一个考试地址列就行了


--  作者:zgjmost
--  发布时间:2021/12/15 12:23:00
--  
这个节点我加成功了,但在执
图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:112.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:国家开放大学考务系统.foxdb

行打印时是空的,不知涉及这个控件哪些代码?请教有点蓝老师,谢谢!
--  作者:zgjmost
--  发布时间:2021/12/15 12:24:00
--  
这个节点我加成功了,但在执行打印时是空的,不知涉及这个控件哪些代码?请教有点蓝老师!
谢谢有点蓝老师!

--  作者:有点蓝
--  发布时间:2021/12/15 14:17:00
--  
目录树AfterCheckNode事件获取勾选的项目,拼成字符串

打印按钮事件根据拼成字符串拆分为条件,至于具体的逻辑自己分析一下了

--  作者:zgjmost
--  发布时间:2021/12/15 15:04:00
--  
Dim nd,nd1 As  WinForm.TreeNode
nd = e.node
If nd.Nodes.Count > 0
    For Each nd1 In nd.AllNodes
        nd1.Checked = nd.Checked
    Next
End If
If e.node.Checked = False
    Do While  nd.parentnode IsNot Nothing
        nd = nd.parentnode
        If nd.Nodes.Count > 0
            For i As Integer = 0 To nd.Nodes.Count -1
                If nd.Nodes(i).Checked = True
                    Exit Do
                End If
                If i = nd.Nodes.Count -1
                    nd.Checked = False
                End If
            Next
        End If
    Loop
Else
    Do While  nd.parentnode IsNot Nothing
        nd = nd.parentnode
        nd.Checked = True
    Loop
End If
Dim bdm,xh,tj As String
Dim cnt,jds As Integer
For Each nd In e.Form.Controls("学员列表树").nodes("全部学员").AllNodes
    If nd.Level = 1 And nd.Checked = True
        bdm = nd.name
        cnt = nd.AllNodes.Count
        For Each nd1 In nd.AllNodes
            If nd1.Checked = True
                xh = xh & "," & nd1.name
                jds = jds +1
                If jds = cnt
                    xh = "all"
                End If
            Else
                If xh > ""
                    xh = xh.Replace("all","")
                End If
            End If
        Next
        If xh > ""
            xh = xh.Trim(",")
        End If
        jds = 0
        tj = tj & "|" & bdm & "\\" & xh
        If tj > ""
            tj = tj.Trim("|")
        End If
    End If
Next

Dim jztj As  String

If tj > ""
    e.Form.Controls("加载条件").text = tj.Replace("|",vbcrlf)
    jztj = tj.Replace("|",vbcrlf)
Else
    e.Form.Controls("加载条件").text = ""
End If

有点蓝老师:这段代码有没有讲解,看了两个小时,还是看不明白?请老师帮忙注解一下,非常感谢!

--  作者:有点蓝
--  发布时间:2021/12/15 15:30:00
--  
就算是我自己写的代码,隔一段时间自己都未必看得懂了。

参考这个方法重新做一个吧:http://www.foxtable.com/webhelp/topics/2503.htm