以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]drawcell在某些表中似乎不起作用  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=95861)

--  作者:chnfo
--  发布时间:2017/2/7 11:31:00
--  [求助]drawcell在某些表中似乎不起作用
在全局表事件中写了:
If e.Col.IsNumeric AndAlso val(e.Text) = 0 Then
    e.Text = ""
End If

Initialize了。

在afteropenproject事件中写了:
Tables("A").OpenView("A")

将表A的数值列的默认值设为了0
但切换到表A的时候,drawcell事件不起作用,数字列为0的仍然显示为0,没有显示为空白,这是为何?

如果把代码在表A的drawcell事件中再写一遍,数值=0的地方才会显示为空白。是与openview冲突吗?
[此贴子已经被作者于2017/2/7 11:31:28编辑过]

--  作者:有点色
--  发布时间:2017/2/7 11:34:00
--  

试试这样写

 

Tables("A").OpenView("A")
Tables("A").Refresh

 

如果不行,做个实例上来测试。


--  作者:有点色
--  发布时间:2017/2/7 11:36:00
--  

 你在Drawcell事件加入代码 output.show(e.table.name & date.now) 看是否执行了事件代码。


--  作者:chnfo
--  发布时间:2017/2/7 14:21:00
--  
试了一下,有两个表,TbPL就不执行,CS就执行。
但输出的代码,看不出有什么区别。

如果把Drawcell事件分别复制到各个表事件中,又没有问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:drawcell不响应.zip


[此贴子已经被作者于2017/2/7 14:21:19编辑过]

--  作者:有点色
--  发布时间:2017/2/7 14:28:00
--  

drawcell事件,全局和表属性里面,是有冲突的。

 

如果你表属性设置了,全局的就不会触发。建议你全部代码写在一起。


--  作者:chnfo
--  发布时间:2017/2/7 14:31:00
--  
郁闷。
有些drawcell事件是共性的,所以才放到全局表事件中。

有些是个别表特性的,才放到指定表中。

如果都放到全局表事件中,调试代码可能频繁重启程序。但如果把共性表事件每个表都写一遍,又太麻烦

而且窗口表还可能是副本,如果在全局表中用select e.table.name,还可能导致副本表的drawcell事件不起作用
[此贴子已经被作者于2017/2/7 14:33:26编辑过]

--  作者:有点色
--  发布时间:2017/2/7 14:32:00
--  

没办法,foxtable是这样。

 

你要在全局表事件一起处理。

 

 


--  作者:chnfo
--  发布时间:2017/2/7 14:34:00
--  
这个应当改进一下才好,要不然,全局表的drawcell几乎就没什么用处了。
不知道其它的表事件会不会有所冲突呢?
目前还只是发现drawcell事件是这样的。


[此贴子已经被作者于2017/2/7 14:43:34编辑过]

--  作者:cbt
--  发布时间:2018/2/7 12:10:00
--  
 图片点击可在新窗口打开查看我就说怎么无效,帮助又没说 ,表中有绘制,全局就无法使用,搞的以为自己代码问题

--  作者:有点甜
--  发布时间:2018/2/7 12:12:00
--  
以下是引用cbt在2018/2/7 12:10:00的发言:
 图片点击可在新窗口打开查看我就说怎么无效,帮助又没说 ,表中有绘制,全局就无法使用,搞的以为自己代码问题

 

drawcell事件,你在表里写之后,就不会再执行全局的drawcell事件了。