以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  折叠表层数问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177872)

--  作者:foxtablefanse
--  发布时间:2022/6/8 9:26:00
--  折叠表层数问题
折叠表,如果当前行有父行或子行,折叠层数超过三层时,当前行不允许右移(也就是折叠层数不允许大于三层),能用递归处理吗?求思路!!
--  作者:foxtablefanse
--  发布时间:2022/6/8 9:31:00
--  
折叠模式下,当前行可以左右移的啊,比如右移成为上一行了子行
[此贴子已经被作者于2022/6/8 9:31:32编辑过]

--  作者:foxtablefanse
--  发布时间:2022/6/8 9:33:00
--  
折叠模式下可以加上连线吗?或者设个属性,让用户选择要不要连线
--  作者:狐狸爸爸
--  发布时间:2022/6/8 9:35:00
--  
将菜单中的右移按钮的代码改为:

Dim r As Row = CurrentTable.Current
If r.Hierarchy >= 2 Then
    MessageBox.Show("不能超过三层")
Else
    Syscmd.GridTree.MoveRight()
End If 

知识来源:


连线不加了

--  作者:foxtablefanse
--  发布时间:2022/6/8 9:42:00
--  
Hierarchy居然没看到,谢狐爸!!图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
[此贴子已经被作者于2022/6/8 9:43:11编辑过]

--  作者:foxtablefanse
--  发布时间:2022/6/8 10:42:00
--  
Dim tb As String="XXX_Table1"
Dim AllowRemoveRight As Boolean=True \'是否允许移动
If Tables(tb).GridTreeVisible Then
    Dim cr As Row = Tables(tb).Current
    Select Case cr.Hierarchy
        Case 2 \'当前行为第三层,不允许右移
            AllowRemoveRight = False
        Case 1
            If cr.HasChild  \'当前行为第二层,但有子行,不允许右移
                AllowRemoveRight = False
            End If
        Case 0  \'当前行为第一层,但有子行位于第三层,不允许右移
            Dim rs As List(of Row) = cr.GetChildren()
            For Each r As Row In rs
                If r.HasChild Then
                    AllowRemoveRight = False
                End If
            Next
    End Select
End If
If AllowRemoveRight
    Syscmd.GridTree.MoveRight()
End If

--  作者:狐狸爸爸
--  发布时间:2022/6/8 10:46:00
--  
图片点击可在新窗口打开查看