以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]锁定列后如何上色--7楼更新问题,发现BUG  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171741)

--  作者:huangfanzi
--  发布时间:2021/9/8 10:30:00
--  [求助]锁定列后如何上色--7楼更新问题,发现BUG
通过列属性中允许编辑 = False 方法将列锁定了,如何写代码能实现通过此办法锁定某列后自动上色 ,谢谢老师

  If e.Col.AllowEdit = False Then
        e.Style = "淡蓝背景"
    End If
[此贴子已经被作者于2021/9/8 12:09:07编辑过]

--  作者:有点蓝
--  发布时间:2021/9/8 10:36:00
--  
代码没有问题,就是这个用法:http://www.foxtable.com/webhelp/topics/0656.htm
--  作者:huangfanzi
--  发布时间:2021/9/8 10:45:00
--  
想省力点,在全局表事件中DrawCell设置了如下,可不起作用,请老师看下
e.Table.DataTable.AddUserStyle("淡蓝背景", Color.LightSkyBlue,Color.Black)
If e.Col.AllowEdit = False Then
    e.Style = "淡蓝背景"
End If

--  作者:有点蓝
--  发布时间:2021/9/8 10:49:00
--  
没有启用全局事件:http://www.foxtable.com/webhelp/topics/0671.htm
--  作者:huangfanzi
--  发布时间:2021/9/8 10:57:00
--  
我在命令窗口中输入了 DataTables("原料入库通知").GlobalHandler.DrawCell = True
但是原料入库通知表的锁定列仍没有上色

--  作者:有点蓝
--  发布时间:2021/9/8 11:03:00
--  
我测试没有问题,请上传实例说明
--  作者:huangfanzi
--  发布时间:2021/9/8 12:09:00
--  
老师,终于搞清楚原因了,发现了DrawCell的BUG
在表上的DrawCell事件中,只要有任何代码或者是字符,如第一行加了return,或每行代码前面加上 单引号 让代码失效,或直接录个单引号,其它什么都不录,都会引起全局表事件中的DrawCell代码无效,我就是因为没有删除表事件的中DrawCell代码,而是第一行加了 return,所以,怎么也搞不出上色

这个BUG不修复,就麻烦了,比如让锁定的列上色是每个表通用的,但各个表都在一些特殊的DrawCell设置
[此贴子已经被作者于2021/9/8 12:11:11编辑过]

--  作者:有点蓝
--  发布时间:2021/9/8 13:32:00
--  
这不是bug,故意为之。同时绘制会产生冲突,所以如果有全局表drawcell,就不能使用表事件drawcell
--  作者:huangfanzi
--  发布时间:2021/9/8 13:45:00
--  
这样的话,各表特有的drawcell代码只有放到全局中了,是这样吗?
--  作者:有点蓝
--  发布时间:2021/9/8 13:48:00
--  
也可以把1楼的代码放到各表特有的drawcell