以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何判断多个隐藏列的语句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99604)

--  作者:ltty5200
--  发布时间:2017/4/22 10:46:00
--  [求助]如何判断多个隐藏列的语句
假如在表A中,有很多列,合计列=第三列+第五列+第七列+第八列+第十列+是十二列+第十五列+....+任意列。在这些用来累加的列中,假如其中几列隐藏了,它们就不进行参与计算,只用显示的列来相加。请教如何编写代码?
--  作者:有点蓝
--  发布时间:2017/4/22 11:45:00
--  
表达式无法判断。


--  作者:ltty5200
--  发布时间:2017/4/22 13:51:00
--  
我不是用表达式,用代码判断运算
--  作者:有点蓝
--  发布时间:2017/4/22 14:29:00
--  
参考:

Select Case e.DataCol.Name
    Case "第一列","第二列","第三列","第四列","第五列"
        Dim cls() As String = {"第一列","第二列","第三列","第四列","第五列"}
        Dim t As Table = Tables(e.DataTable.Name)
        Dim sum As Integer = 0
        For Each c As String In cls
            If t.Cols(c).Visible Then
                sum += e.DataRow(c)
            End If
        Next
        e.DataRow("总计") = sum
End Select

--  作者:ltty5200
--  发布时间:2017/4/22 17:23:00
--  
谢谢,我试试
--  作者:ltty5200
--  发布时间:2017/4/22 17:59:00
--  
感谢老师,问题得到解决。但是有一个bug,就是当算出了结果后,再隐藏几列,数据不会自动更新。如何在隐藏其中几列的时候自动更新合计数?
--  作者:有点色
--  发布时间:2017/4/23 12:45:00
--  
 单独做一个按钮计算。隐藏列的时候不会触发任何事件,所以无法自动计算。