以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]设置列的背景颜色  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192563)

--  作者:martin723
--  发布时间:2024/7/2 9:27:00
--  [求助]设置列的背景颜色
打开一张表后,如果列标题跟当前日期相同,背景颜色设置为黄色。例如今天是2号,如果列标题是2,这列就设置为黄色背景,怎么写。
--  作者:有点蓝
--  发布时间:2024/7/2 9:53:00
--  
DrawCell事件:http://www.foxtable.com/webhelp/topics/0656.htm

if e.col.caption = date.today.day then
e.style = "黄色样式"
end if

--  作者:martin723
--  发布时间:2024/7/2 10:08:00
--  
能不能在打开的时候就直接设置列背景颜色,必须每次绘制都执行,没有像行颜色设置的吗


--  作者:有点蓝
--  发布时间:2024/7/2 10:09:00
--  
没有。只能到事件里设置
--  作者:martin723
--  发布时间:2024/7/2 10:14:00
--  
设置没起作用,会是什么原因呢?
--  作者:有点蓝
--  发布时间:2024/7/2 10:17:00
--  
没用对。做个项目实例发上来看看
--  作者:martin723
--  发布时间:2024/7/2 10:27:00
--  
项目属性  全局表事件  afterload 里面:
e.DataTable.Theme = "Office2013Red"
e.DataTable.SysStyles("Alternate").BackColor = color.yellow
If e.DataTable.Name = "ksb" Then
    e.DataTable.AddUserStyle("列黄色背景", Color.Yellow, Color.Black)
End If

--  作者:martin723
--  发布时间:2024/7/2 10:28:00
--  
项目属性  全局表事件  drawcell 里面:
If e.Table.Name = "ksd" AndAlso e.Col.caption = Date.today.day Then
        e.style = "列黄色背景"
End If 

--  作者:有点蓝
--  发布时间:2024/7/2 10:36:00
--  
把代码放到单独每个表的表属性的事件里。
图片点击可在新窗口打开查看

不要使用全局表事件。除非是很多表共用的功能,否则没有必要使用全局表事件。另外全局表事件是需要启用才有效的:http://www.foxtable.com/webhelp/topics/0671.htm

--  作者:martin723
--  发布时间:2024/7/2 10:44:00
--  
表是用代码打开的,表属性不可用