以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]自动填充颜色问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84886)

--  作者:13865161910
--  发布时间:2016/5/12 15:40:00
--  [求助]自动填充颜色问题

表属性在哪个事件编辑代码,实现如下效果:

当A列数据不为空,B列和C列和D列数据为空时,自动填充红色或其他颜色

请教如何实现呢?


--  作者:大红袍
--  发布时间:2016/5/12 15:58:00
--  

 去编写drawcell事件

 

http://www.foxtable.com/help/topics/0656.htm

 


--  作者:13865161910
--  发布时间:2016/5/12 16:23:00
--  回复:(大红袍) 去编写drawcell事件 ...
请教代码如何写?学习一下!
--  作者:大红袍
--  发布时间:2016/5/12 16:26:00
--  

If e.Col.Name = "A" Then

    If e.Row.Isnull("A") = False AndAlso e.Row.IsNull("B") AndAlso e.Row.IsNull("C") AndAlso e.Row.IsNull("D") Then

        e.Style = "样式1"

    End If

End If


--  作者:13865161910
--  发布时间:2016/5/19 10:11:00
--  回复:(大红袍)If e.Col.Name = "A" Then &n...

现在有一个表A,表B和表C

如果表A中A列的内容和表B中A列的内容相同,表A填充样式二

如果表A中A列的内容和表C中A列的内容相同,表A填充样式三

该如何实现?!


--  作者:大红袍
--  发布时间:2016/5/19 12:32:00
--  
表与表之间,根据什么查询?上传实例。
--  作者:13865161910
--  发布时间:2016/5/19 13:41:00
--  回复:(大红袍)表与表之间,根据什么查询?上传实例...
主要是通过表A中drawcell 在表A中用两种样式分别标注出和表B或表C中相同的数据(已“第一列”为对比列)
[此贴子已经被作者于2016/5/19 13:47:02编辑过]

--  作者:13865161910
--  发布时间:2016/5/19 13:43:00
--  

比如表A中“第一列”有ZL0001,表B中“第一列”也有ZL0001,表A的“第一列”填充“样式一”

表A中“第一列”有ZL0002,表C中“第一列”也有ZL0002,表A的“第一列”填充“样式二”

 


--  作者:大红袍
--  发布时间:2016/5/19 14:34:00
--  
If e.Col.Name = "A" Then
   
    Dim fdr As DataRow = DataTables("表B").find("第一列 = \'" & e.Row("A") & "\'")
    If fdr IsNot Nothing Then
        e.Style = "样式1"
    Else
        fdr = DataTables("表C").find("第一列 = \'" & e.Row("A") & "\'")
        If fdr IsNot Nothing Then
            e.style = "样式2"
        End If
    End If
   
End If