以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  网线线颜色设置问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=159792)

--  作者:happyft
--  发布时间:2021/1/9 9:55:00
--  网线线颜色设置问题

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210109084051.jpg
图片点击可在新窗口打开查看

在表格属性中设置了网络线颜色或者在窗口表的afterLoad中用了如下代码设置网络线颜色
tbl.Grid.Styles.Normal.Border.Color = Color.Blue  \'设置网线格颜色

刚加载数据时网络线有颜色,但是当鼠标点击到表中时颜色就没有了,要在哪个事件中设置才能实现不管如何操作都有网线线?

谢谢!


--  作者:有点蓝
--  发布时间:2021/1/9 10:13:00
--  
我测试没有问题,请上传实例说明
--  作者:HappyFt
--  发布时间:2021/1/9 13:50:00
--  
唉,重新做例子又无法重现,

图片点击可在新窗口打开查看此主题相关图片如下:gif01.gif
图片点击可在新窗口打开查看

总之就是刚开始第一次加载数据后可以显示网格线,只要鼠标移动到下面的表中来网线线就失去作用了,会是什么事件导致的呢?

--  作者:有点蓝
--  发布时间:2021/1/9 14:21:00
--  
是不是使用fill,或者DataSource重新设置了表格,设置后是一个新的table了,需要重新调用代码设置样式
--  作者:HappyFt
--  发布时间:2021/1/9 14:43:00
--  
没有,虽然是窗口表打开时fill数据进来,但是设置网格线是在fill之后
\'---加载表结构fill数据
Functions.Execute("LoadTable",e.Form.Name)  \'传递窗口名称加载表结构

\'---设置表属性
Dim tbl As Table = Tables(e.form.name & "_明细")
tbl.Grid.Styles.Normal.Border.Color = Color.Blue  \'设置网线格颜色

本表中已没有其他事件,只是全局表事件有很多,但切换表时应该只会触发currentchanged吧,也注释测试还是不可以

--  作者:有点蓝
--  发布时间:2021/1/9 14:50:00
--  
单独测试没有问题,说明这个代码用法没有问题的,还有其它代码影响。

这个窗口表不要开启任何全局表事件不设置任何表事件会不会有问题?不用"LoadTable"函数把加载绑定表的代码直接放到窗口有没有问题?

--  作者:HappyFt
--  发布时间:2021/1/9 16:48:00
--  
总算找到原因了,在项目事件的currenttablechanged事件中有如下代码:

If chk_ListMode = True Then  \'是否突显行
    CurrentTable.ListMode = True
    CurrentTable.DataTable.SysStyles("CurrentRow").BackColor = Color.MediumAquamarine  \'突出行背景色
Else
    CurrentTable.ListMode = False
End If

chk_ListMode是菜单上的一个是否突出显示行的选择框,注释掉这段就可以,打开了不管chk_ListMode选择框是否勾选都不行.
为什么会这样?

--  作者:有点蓝
--  发布时间:2021/1/9 17:10:00
--  
这个问题我反馈一下,临时方法是把设置网格线也放到currenttablechanged