以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分别改变表格背景颜色和字体颜色  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140610)

--  作者:yangwenghd
--  发布时间:2019/9/9 23:14:00
--  分别改变表格背景颜色和字体颜色
老师,表格自定义颜色可以分开改变吗?
比如 在自定义颜色样式设定了样式A 字体是红色, 背景是红色, 样式B 是白色和黑色, 然后在代码列两段,比如 时间到了只是改变字体的颜色,然后 重要程度只改表格背景,这样可以吗?感谢 感谢 

--  作者:有点蓝
--  发布时间:2019/9/10 8:58:00
--  
增加多几个样式即可

样式A1 字体是红色,背景不设置
样式A2 字体是红色, 背景是红色

--  作者:yangwenghd
--  发布时间:2019/9/22 23:34:00
--  
老师 我这个有没什么办法改一下呀
黑色的代码我只设置了字体,
然后红色部分我设置的字体背景,
但是后面红色的代码还是会代替黑色部分,
比如 过期,设置字体红色,背景不设定
然后,重要 设置字体不管,背景为绿色, 
结果就条件都满足,但是还是只是显示“重要”的绘图,
然后后面红色代码删除才会显示前面黑色代码的功能,感谢 感谢

If e.Row("事件日期") < Date.today AndAlso e.Row("处理状态") <>"已处理"
    e.Style = "过期"
Else
    If (cdate(e.Row("事件日期"))-Date.Today).Totaldays<=5 AndAlso e.Row("处理状态") <>"已处理"
        e.Style = "临近"
    Else
        e.Style = "正常"
    End If
End If


If e.Row("重要程度") = "重要" Then
    e.Style = "重要"
End If
If e.Row("重要程度") = "一般" Then
    e.Style = "一般"
End If

If e.Row("重要程度") = "次要" Then
    e.Style = "次要"
End If

--  作者:有点蓝
--  发布时间:2019/9/23 8:52:00
--  
方法一,再添加多几个样式,比如:
过期且重要:字体红色,背景为绿色
然后

If e.Row("事件日期") < Date.today AndAlso e.Row("处理状态") <>"已处理"
    If e.Row("重要程度") = "重要" Then
        e.Style = "过期且重要"
    ElseIf e.Row("重要程度") = "一般" Then
        e.Style = "过期且一般"
    ElseIf e.Row("重要程度") = "次要" Then
        e.Style = "过期且次要"
    End If
ElseIf (cdate(e.Row("事件日期"))-Date.Today).Totaldays<=5 AndAlso e.Row("处理状态") <>"已处理"
    If e.Row("重要程度") = "重要" Then
        e.Style = "临近且重要"
    ElseIf e.Row("重要程度") = "一般" Then
        e.Style = "临近且一般"
    ElseIf e.Row("重要程度") = "次要" Then
        e.Style = "临近且次要"
    End If
Else
    If e.Row("重要程度") = "重要" Then
        e.Style = "重要"
    ElseIf e.Row("重要程度") = "一般" Then
        e.Style = "一般"
    ElseIf e.Row("重要程度") = "次要" Then
        e.Style = "次要"
    End If
End If

方法2、只控制单元格的颜色,不要控制整行
If e.Row("事件日期") < Date.today AndAlso e.Row("处理状态") <>"已处理"
    e.Style = "过期"
Else
    If (cdate(e.Row("事件日期"))-Date.Today).Totaldays<=5 AndAlso e.Row("处理状态") <>"已处理"
        e.Style = "临近"
    Else
        e.Style = "正常"
    End If
End If

If e.Col.name = "重要程度"
    If e.Row("重要程度") = "重要" Then
        e.Style = "重要"
    ElseIf e.Row("重要程度") = "一般" Then
        e.Style = "一般"
    ElseIf e.Row("重要程度") = "次要" Then
        e.Style = "次要"
    End If
End If