以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  所有窗口表统一样色  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118101)

--  作者:蓝蚂蚁
--  发布时间:2018/4/25 10:11:00
--  所有窗口表统一样色
所有的窗口表都设定为统一的样式   请问代码如何写 
要求:一、表格样式--配色方案--当前行--背景颜色为LightCyan
二、表格样式--样式设置--网格线--颜色为Olive
三、整行
  非常感谢

--  作者:有点甜
--  发布时间:2018/4/25 10:20:00
--  

1、参考 http://www.foxtable.com/webhelp/scr/1577.htm

 

2、参考

 

Tables("表A").grid.styles.Normal.Border.Color = Color.Red
Tables("表A").grid.styles.Normal.Border.Style = 1
Tables("表A").grid.styles.Normal.Border.width = 5
Tables("表A").grid.styles.Normal.Border.Direction = 2 \'0-2

 

3、http://www.foxtable.com/webhelp/scr/1634.htm

 


--  作者:蓝蚂蚁
--  发布时间:2018/4/25 10:24:00
--  
有点甜老师  按照你的提示那不是要一个一个表来设定 ?
--  作者:有点甜
--  发布时间:2018/4/25 10:29:00
--  

循环,如

 

For Each t As table in Tables

 

Next


--  作者:蓝蚂蚁
--  发布时间:2018/4/25 15:04:00
--  
我把下面的代码放在窗口的AfterLoad里面,那么是不是每次打开这个窗口时都会执行这段代码

For Each zckt As Table In Tables

    zckt.Grid.Styles.Normal.Border.Color = Color.DarkOrange

    zckt.ListMode = True

Next

For Each zckdt As DataTable In DataTables

    zckdt.SysStyles("CurrentRow").BackColor = color.YellowGreen

Next

如果是的话,能不能对样式进行判断,如果窗口表当前的样式是代码要执行的颜色,则不执行代码,如果不是则执行。


--  作者:有点甜
--  发布时间:2018/4/25 15:09:00
--  

怎么理解你这句话?【如果窗口表当前的样式是代码】

 

什么样的条件、逻辑?根据什么判断?


--  作者:蓝蚂蚁
--  发布时间:2018/4/25 15:26:00
--  
就是窗口中的副本表设定成上面代码的样式,代码是放到窗口的AfterLoad事件中,是不是每次打开窗口时都要执行这段代码?
--  作者:有点甜
--  发布时间:2018/4/25 15:33:00
--  
以下是引用蓝蚂蚁在2018/4/25 15:26:00的发言:
就是窗口中的副本表设定成上面代码的样式,代码是放到窗口的AfterLoad事件中,是不是每次打开窗口时都要执行这段代码?

 

AfterLoad事件,就是每次打开的时候,都会执行的。

 

你目前遇到什么问题?要解决什么问题?


--  作者:蓝蚂蚁
--  发布时间:2018/4/25 15:48:00
--  
AfterLoad:
if  窗口1中所有副本表的网格颜色<>黑色 and 当前行<>红色   then 
 For Each zckt As Table In Tables

    zckt.Grid.Styles.Normal.Border.Color = 黑色

    zckt.ListMode = True

  Next

 For Each zckdt As DataTable In DataTables

    zckdt.SysStyles("CurrentRow").BackColor = 红色

 Next

end if

就是打开窗口1时如果窗口1中所有副本表的网格颜色不是黑色 and 当前行不是红色  则执行代码,如果副本表的网格颜色已经是黑色 and 当前行是红色,则不执行代码。 即对样式进行判断,不用每次Afterload都执行代码,提高运行速度,不知道这样表达,老师您能否明白。


--  作者:有点甜
--  发布时间:2018/4/25 15:56:00
--  

For Each zckt As Table In Tables
    If zckt.DataTable.SysStyles("CurrentRow").BackColor <> color.red Then
        zckt.DataTable.SysStyles("CurrentRow").BackColor = color.red
        zckt.Grid.Styles.Normal.Border.Color = color.black
        zckt.ListMode = True
    End If
Next