以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  两格中填色程式语句怎么写  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46691)

--  作者:wjlwdy
--  发布时间:2014/2/27 10:02:00
--  两格中填色程式语句怎么写
菜鸟求助


比如说,我要在一个产品跟踪表中体现,产品订料回来显示绿色,没回来显示红色。
另一行加工未完成显示红色,加工完成显示绿色。
单靠的我会写,但是多行的怎么写呢!!!

If e.Col.name = "订料状况" Then
    If e.Row.Isnull("订料状况" )= False Then
        e.Style = "红色"
        
        If e.Row("订料状况") = True Then
            e.Style = "绿色"
            
        End If
    End If
End If

--  作者:lsy
--  发布时间:2014/2/27 10:14:00
--  
Select Case e.Col.name
      Case "订料状况"
           If e.Row.Isnull("订料状况" )= False Then
                e.Style = "红色"
           Else     
                e.Style = "绿色" 
           End If           
        Case "加工状况"
           If e.Row.Isnull("加工状况" )= False Then
                e.Style = "红色"
           Else     
                e.Style = "绿色"  
           End If
End Select
[此贴子已经被作者于2014-2-27 10:15:04编辑过]

--  作者:wjlwdy
--  发布时间:2014/2/27 10:46:00
--  
非常感谢
--  作者:wjlwdy
--  发布时间:2014/2/27 10:50:00
--  
可是这样写出来的全部变成红色了


--  作者:wjlwdy
--  发布时间:2014/2/27 11:00:00
--  
写好后,所有行都显示红色
--  作者:Bin
--  发布时间:2014/2/27 11:05:00
--  
你是判断 列里面的值,  还是判断是否为空呢.   如果是判断是否为空,那么代码没错,全红是因为总有一个条件是符合红的.

如果是判断里面的值,那么应该改为判断值

Select Case e.Col.name
      Case "订料状况"
           If e.Row("订料状况" )= "未回" Then
                e.Style = "红色"
           Else     
                e.Style = "绿色" 
           End If           
        Case "加工状况"
           If e.Row("加工状况" )= "未回" Then
                e.Style = "红色"
           Else     
                e.Style = "绿色"  
           End If
End Select

--  作者:wjlwdy
--  发布时间:2014/2/27 11:14:00
--  
已改好OK,把空行取消了。非常感谢