以文本方式查看主题
-
Foxtable(狐表)
(http://foxtable.net/bbs/index.asp)
--
专家坐堂
(http://foxtable.net/bbs/list.asp?boardid=2)
----
绘制颜色
(http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107535)
-- 作者:zhangchi96
-- 发布时间:2017/9/29 22:16:00
-- 绘制颜色
此主题相关图片如下:2.png
在一个窗体中,插入两个表:表1 表2
此主题相关图片如下:1.png
计划目标:在表2中选择1行,如“职工04”,则表1中只要是有“”职工04“”的都显示为绿色,不知道该在哪个事件中写为好,代码又是如何写?这种情况和说明书里可大不相同。
敬请指教!
[此贴子已经被作者于2017/9/29 22:24:16编辑过]
-- 作者:有点蓝
-- 发布时间:2017/9/29 22:32:00
--
参考:
http://www.foxtable.com/webhelp/scr/0656.htm
表1,drawcell事件
Dim r As Row = Tables("表2").current
If e.Col.name.StartsWith("部门") AndAlso r IsNot Nothing Then
If e.Row(e.Col.name) = r("姓名")
e.Style = "样式1"
End If
End If
-- 作者:zhangchi96
-- 发布时间:2017/9/30 6:29:00
--
谢谢,原来我想复杂了。
运行时,在表2里选定某行后,表1里的颜色没动静,要鼠标在表1上飘过后才显示颜色,或者点一下表1旁边多滚动条后才会有颜色反映过来,请问怎么解决
Dim s1() As String = { "部门1","部门2","部门3","部门4","部门5"}
Dim r As Row = Tables("表2").current
For Each dc2 As String In s1
If e.Col.name.StartsWith( dc2 ) AndAlso r IsNot Nothing Then
If e.Row(e.Col.name) = r("姓名")
e.Style = "样式"
End If
End If
Next
[此贴子已经被作者于2017/9/30 6:34:57编辑过]
-- 作者:有点蓝
-- 发布时间:2017/9/30 8:45:00
--
按2楼的代码即可,没有必要加循环,画蛇添足。
表2,
CurrentChanged事件,加上代码
Tables("表1").Refresh