以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  折叠模式下导出部分层的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180052)

--  作者:foxtablefanse
--  发布时间:2022/9/25 22:03:00
--  折叠模式下导出部分层的问题

表为折叠模式时,1、如果没有子行,直接导出(第一层);
                         2、如果第一层有子行,只导出其子行第二层,
                         3、如果第二层还有子行,只导出第二层其本身(也就是第三层不导出,只计算其作业金额),此时的第二层“作业金额”为合计的值(因为第二层如果有子行,则其本身和子行均有值,在第二层但显示的是合计)。


现在的代码导出没有子行第一层或第二层没有子行都没问题,在第二层有子行时,只导出了其本身的值,而不是合计值。

图片点击可在新窗口打开查看此主题相关图片如下:树表.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:树表2.png
图片点击可在新窗口打开查看
If dt.GridTreeVisible Then \'如果处于折叠模式
    For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据
        Dim rw As Row  = dt.rows(r)
        \'==================选择性导出行==========================
        If rw.Hierarchy=0 And rw.HasChild()=False  Or rw.Hierarchy=1  Then  \'没有子行的第一层和第二层,直接导出
            For c As Integer = 0 To nms.length -1
                Sheet(idx,c).Value = rw(nms(c))
            Next
            idx += 1
        Else
            Continue For
        End If
        \'========================================================
    Next
End If
[此贴子已经被作者于2022/9/25 22:16:08编辑过]

--  作者:有点蓝
--  发布时间:2022/9/25 22:19:00
--