以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]全局表事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103778)

--  作者:lgj716330
--  发布时间:2017/7/17 8:51:00
--  [求助]全局表事件
DataTables("利润表").GlobalHandler.DataColChanged = True
Select Case e.DataTable.Name
    Case "利润表"
If e.DataCol.Name = "利润总额" Then
    If e.DataRow.IsNull(e.DataCol.Name) = False
        If e.DataRow(e.DataCol.Name) < 0  Then
            e.Style = "利润亏损"
        End If
    End If
End If
End Select

其中“利润表”是临时统计表。出现以下错误提示
编译错误:”Style“不是”DataColEventArgs"的成员
错误代码:e.Style = "利润亏损"

--  作者:有点甜
--  发布时间:2017/7/17 9:15:00
--  
如果要绘制,你的代码只能写到drawcell事件去。
--  作者:lgj716330
--  发布时间:2017/7/17 10:01:00
--  
DataTables("利润表").GlobalHandler.DrawCell = True
Select Case e.Table.Name
    Case "利润表"
    If e.Col.Name = "利润总额" Then
        If e.Row.IsNull(e.Col.Name) = False
            If e.Row(e.Col.Name) < 0 Then
            e.Style = "利润亏损"
            End If
        End If
    End If
End Select

嗯,在DrawCell里没错误提示,但结果没起作用

--  作者:有点甜
--  发布时间:2017/7/17 11:18:00
--  
Select Case e.Table.Name
    Case "利润表"
        If e.Row("利润总额") < 0 Then
            e.Table.DataTable.AddUserStyle("利润亏损", color.red, color.black)
            e.Style = "利润亏损"
        End If
End Select

--  作者:lgj716330
--  发布时间:2017/7/19 13:13:00
--  
上述代码还是没起到作用
--  作者:有点甜
--  发布时间:2017/7/19 14:20:00
--  

afterOpenProject写代码了吗?

 

DataTables("利润表").GlobalHandler.DataColChanged = True

 

 


--  作者:lgj716330
--  发布时间:2017/7/19 15:39:00
--  
没写,我直接写在全局表事件里了,这是个临时表
刚测试了,就算写在afterOpenProject里也是没用

--  作者:有点甜
--  发布时间:2017/7/19 16:15:00
--  
以下是引用lgj716330在2017/7/19 15:39:00的发言:
没写,我直接写在全局表事件里了,这是个临时表
刚测试了,就算写在afterOpenProject里也是没用

 

如果是临时表,那么你就需要在生成临时表后,再写代码绑定drawcell事件。


--  作者:lgj716330
--  发布时间:2017/7/19 16:25:00
--  
有可参照的吗,不知如何绑定
--  作者:有点甜
--  发布时间:2017/7/19 17:23:00
--  
以下是引用lgj716330在2017/7/19 16:25:00的发言:
有可参照的吗,不知如何绑定

 

你用代码生成的表?把绑定的代码,写到你本来的代码后面即可。