以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  drawCell事件问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184160)

--  作者:happyft
--  发布时间:2022/11/26 9:05:00
--  drawCell事件问题
\'--不显示0
If e.Col.IsNumeric Then 
    If e.Text = "0" OrElse e.Text = "0.00%" OrElse e.Text = "0.00" OrElse e.Text = "0.0000" Then
        e.Text = Nothing
    End If
End If

在全局表事件drawCell中用了上面的代码,表加载时此事件的全局开关也设置为true了,但为何有的表打开后还是会显示0?

谢谢!

--  作者:有点蓝
--  发布时间:2022/11/26 9:16:00
--  
If e.Text = "0" OrElse e.Text = "0.00%" OrElse e.Text = "0.00" OrElse e.Text = "0.0000" Then
改为
    If e.row(e.Col.name) = 0 Then

--  作者:HappyFt
--  发布时间:2022/11/26 10:13:00
--  
If e.Col.IsNumeric Then 
    If e.Row(e.Col.name) = 0 OrElse e.Text = "0.00%" OrElse e.Row(e.Col.name) = 0.00 OrElse e.Row(e.Col.name) = 0.0000 Then
        e.Text = Nothing
    End If
End If
改成上面的还是一样,不知为何有部份表可以,部份表不起作用,但同样的代码在放在那些不起作用的表的表事件drawCell中就可以

--  作者:有点蓝
--  发布时间:2022/11/26 10:18:00
--  
说明这部分表没有启用全局表drawcell事件,另外如果要使用全局表drawcell事件,就不能在表事件drawCell中有任何代码

另外判断e.Row(e.Col.name) = 0就够了,其它判断都是多余的

--  作者:HappyFt
--  发布时间:2022/11/26 10:38:00
--  
用MessageBox.Show(CurrentTable.datatable.GlobalHandler.DrawCell)显示此表的全局开关是true说明是开启的
但就是不起作用,只好把代码在表事件中再写一遍了

另外如果要使用全局表drawcell事件,就不能在表事件drawCell中有任何代码?

想问一下,是不是使用全局表drawcell事件,所有表中只要有一个表事件drawCell中有写了代码全局表事件drawCell就不起作用了,
还是只是某个表的表事件drawCell写了代码,这个表的全局表事件drawCell代码不起作用?

--  作者:有点蓝
--  发布时间:2022/11/26 11:02:00
--  
只是某个表的表事件drawCell写了代码,这个表的全局表事件drawCell代码不起作用。不会影响其它表