Foxtable(狐表)用户栏目专家坐堂 → 输出TreeView问题


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

主题:输出TreeView问题

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


加好友 发短信
等级:小狐 帖子:395 积分:6079 威望:0 精华:0 注册:2015/2/17 10:18:00
输出TreeView问题  发帖心情 Post By:2024/12/26 7:43:00 [只看该作者]

以下为输出代码:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim doc As New PrintDoc '定义一个报表
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim rt As New prt.RenderText '定义一个文本对象
    rt.Text = "".PadLeft(nd.Level * 4) & nd.Text
    
    doc.Body.Children.Add(rt)  
Next
doc.Preview()  

以上输出无各层关系的连接符号“..."":"

请教:如何输出时将各层的连接符号也含其中》

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111401 积分:567075 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/12/26 13:44:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim doc As New PrintDoc '定义一个报表
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim rt As New prt.RenderText '定义一个文本对象
    If nd.Level = 0 Then
        rt.Text = nd.Text
    Else
        Dim s As String = ""
        Dim ad As WinForm.TreeNode = nd.ParentNode
        Dim pd As WinForm.TreeNode
        If ad.ParentNode IsNot Nothing Then
            s = "".PadLeft(6)
            pd = ad.ParentNode
        End If 
        Do While pd IsNot Nothing
            If pd.Level > 0 Then
                If pd.Nodes.Count - 1 = ad.Index Then
                    s = "".PadLeft(6) & s
                Else
                    s = "".PadLeft(6) & ":" & s
                End If
            ElseIf trv.Nodes.Count - 1 > pd.Index AndAlso s.StartsWith(":") = False Then
                    s = ":" & s
            End If 
            ad = pd
            pd = pd.ParentNode
        Loop
        rt.Text = s & ":" & "".PadLeft(4, ".") & nd.Text
    End If
    doc.Body.Children.Add(rt) 
Next
doc.Preview() 

 回到顶部