以文本方式查看主题

-  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=191910)

--  作者:lianghanyu
--  发布时间:2024/5/15 12:04:00
--  drawcell的样式可以直接代码定义吗
如题,一定要建立一个样式才可以指定字体或者背景颜色吗?在代码中直接定义可以吗?

Select Case e.Col.name
    Case "DFM剩余天数"
        If e.Row.IsNull("DFM时间节点") = False Then\'且该列已经输入内容
            Dim d1 As Date = e.Row("DFM时间节点")
            Dim d2 As Date = Date.Today
            Dim tp As TimeSpan = d1 - d2
            If tp.TotalDays > 0 Then
                
                
                e.Text = "剩余" & tp.TotalDays & "天"
                
            Else
                e.Text = "已脱期" & tp.TotalDays & "天"
               e.BackColor = Color.Red       (这个实际会出错,实现不了)

                
            End If 
            
        End If 
        
        
End Select

--  作者:cd_tdh
--  发布时间:2024/5/15 12:33:00
--  
http://www.foxtable.com/webhelp/topics/1579.htm
--  作者:有点蓝
--  发布时间:2024/5/15 13:31:00
--  
一定要建立一个样式。不能直接在事件里设置的,没有1楼这种用法。
--  作者:lianghanyu
--  发布时间:2024/5/15 15:13:00
--  
但是,我的表格是窗口里的表格,直接使用SQL语句加载过来的,所以我不知道表的样式应该在哪里建立?
--  作者:cd_tdh
--  发布时间:2024/5/15 15:18:00
--  
1、用代码自定义样式,代码写在窗口加载后哦
2、在菜单自定义样式,在窗口加载后调用样式应该也行啊
[此贴子已经被作者于2024/5/15 15:18:40编辑过]

--  作者:lianghanyu
--  发布时间:2024/5/15 15:21:00
--  
我就是想知道代码要怎么写,可以写个例子吗
--  作者:cd_tdh
--  发布时间:2024/5/15 15:24:00
--  
2楼用代码自定义一个样式,其他就一样的了

第一步:在全局表DrawCell事件
DataTables("表A").AddUserStyle("样式1", Color.Red, Color.White)
For Each t As Table In Tables
    If t.Name = "表A" Then
        If e.Col.Name = "第二列" Then
            If e.Row("第二列") = 4 Then
                e.Style = "样式1"
            End If
        End If
    End If 
Next
第二步:在项目Initialize事件
DataTables("表A").GlobalHandler.DrawCell = True  \'开启全局表事件

其他就根据你需求自己完善了吧

[此贴子已经被作者于2024/5/15 15:57:32编辑过]