以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态改变记录行的颜色  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138410)

--  作者:wangjh8888
--  发布时间:2019/7/30 20:05:00
--  动态改变记录行的颜色
老师 好
全局变量:OnAIRcolor_B,OnAIRcolor_F,有一表的AfterLoadTableSetting代码:
With e.Table.DataTable
    .AddUserStyle("OnAIR",OnAIRcolor_B,OnAIRcolor_F)
End With

DrawCell代码:
If e.Table.Name = "主窗口_Table-自定义场景po" Then
    If e.Row("OnAIR1") = "OA" Then
        e.Style = "OnAIR"
    End If
End If

请教:能不能通过随时改变OnAIRcolor_B,OnAIRcolor_F,来实现改变记录行的颜色?代码应该如何编写?谢谢



--  作者:有点蓝
--  发布时间:2019/7/30 20:28:00
--  
去掉AfterLoadTableSetting代码

DrawCell代码:
If e.Table.Name = "主窗口_Table-自定义场景po" Then
    If e.Row("OnAIR1") = "OA" Then
       e.Table.DataTable
.AddUserStyle("OnAIR",OnAIRcolor_B,OnAIRcolor_F)
        e.Style = "OnAIR"
    End If
End If

--  作者:wangjh8888
--  发布时间:2019/7/30 20:53:00
--  
老师 不行耶,没有效果,好像定义过的样式不能修改编辑,重新定义一个样式好像才可以。不知道对不对?
--  作者:有点蓝
--  发布时间:2019/7/30 21:11:00
--  
1楼的代码不变,按钮事件

OnAIRcolor_B = Color.blue
OnAIRcolor_F = Color.red
dim t as table = Tables("主窗口_Table-自定义场景po")
t.DataTable.styles("OnAIR").backcolor = OnAIRcolor_B
t.DataTable.styles("OnAIR").forecolor = OnAIRcolor_F
t.refresh

其实全局变量都没有什么作用了,直接给样式赋值即可
[此贴子已经被作者于2019/7/30 21:11:44编辑过]

--  作者:wangjh8888
--  发布时间:2019/7/30 22:20:00
--  
好的