Foxtable(狐表)用户栏目专家坐堂 → 关于OA如果完成审批,显示审批图标!!


  共有3716人关注过本帖树形打印复制链接

主题:关于OA如果完成审批,显示审批图标!!

帅哥哟,离线,有人找我吗?
Bin
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/9 11:08:00 [只看该作者]

if e.row.isnull("最后一步")=false then
       最后一步了
else if e.row .isnull("倒数第二步")=false then
        第二步了
else if e.row.isnull("倒数第三步") =false then
end if

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/9 11:46:00 [只看该作者]

 还是给你写吧。

 

全局代码 http://www.foxtable.com/help/topics/1842.htm

 

Public delimg1 As Image = GetImage("delete1.ico")
Public delimg2 As Image = GetImage("delete2.ico")
Public delimg3 As Image = GetImage("delete3.ico")
Public delimg4 As Image = GetImage("delete4.ico")
Public delimg5 As Image = GetImage("delete5.ico")

 

 

Drawcell事件

 

If e.Col.Name = "状态图标列" Then
    e.StartDraw
    If e.Row.isnull("裁决")=False Then
        e.Graphics.DrawImage(delimg1, e.x + 3,e.y + 3)
    Else If e.Row .isnull("终审")=False Then
        e.Graphics.DrawImage(delimg2, e.x + 3,e.y + 3)
    Else If e.Row.isnull("批准") =False Then
        e.Graphics.DrawImage(delimg3, e.x + 3,e.y + 3)
    Else If e.Row.Isnull("审核") = False Then
        e.Graphics.DrawImage(delimg4, e.x + 3,e.y + 3)
    Else
        e.Graphics.DrawImage(delimg5, e.x + 3,e.y + 3)
    End If
    e.EndDraw
End If


 回到顶部
帅哥哟,离线,有人找我吗?
hanxuntx
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2014/5/9 12:11:00 [只看该作者]

增加一个状态列

然后在表的DataColChanged事件写类似的代码

其他流程类是

If e.DataCol.Name = "审核" AndAlso e.NewValue <> "" Then
    e.DataRow("状态") = "审核"
End If


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/5/9 13:58:00 [只看该作者]

Select e.Col.Name
    Case "标记"
        For Each s As String In "裁决|终审|批准|审核".Split("|")
            If e.Row(s) = True Then
                e.Text = "已" & s
                Exit For
            End If
        Next
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
wealthwind
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/5/9 14:03:00 [只看该作者]

老师我将你的代码改了一下

就是

DrawCell:

 

If e.Col.Name = "状态" Then
    e.StartDraw
    If e.Row.isnull("裁决")=False Then
        e.text = "已裁决"
    Else If e.Row .isnull("终审")=False Then
        e.text = "已终审"
    Else If e.Row.isnull("批准") =False Then
        e.text = "已批准"
    Else If e.Row.Isnull("审核") = False Then
        e.text = "已审核"
    Else
        e.text = "已提报"
    End If
    e.EndDraw
End If

 

If e.Col.Name = "状态" Or e.Col.Name = "审核" Or e.Col.Name = "批准" Or e.Col.Name = "终审" Or e.Col.Name = "裁决" Then
    e.StartDraw()
    Dim msg As String
    Dim tl As Integer = e.Text.Length
    Select Case tl
        Case 2
            msg = "  " & e.Text & "  "
        Case 3
            msg = " " & e.Text & " "
        Case Else
            msg = e.Text
    End Select
    If msg = "" Then Return
    If tl <= 4 Then
        e.Col.Width = 61
    Else
        e.Col.width = tl*15+1
    End If
   
    Dim w As Integer = e.Width - 4
    Dim h As Integer = e.Height - 4
    Dim x As Integer = e.x + (e.Width - w)/2
    Dim n As Pen
    Dim fnt As New Font("宋体",9,FontStyle.Bold)
    Dim br As Brush
   
    If e.Text.Contains("已") Then
        n = New Pen(Color.Green,2)
        br = New SolidBrush(color.Green)
    Else
        n = New Pen(Color.Red,2)
        br = New SolidBrush(color.red)
    End If
   
    e.Graphics.DrawRectangle(n,x,e.y + 2,w,h)
    e.Graphics.DrawString(msg,fnt,br,x + 1,e.y + 4)
    e.Text = ""
    e.EndDraw()
End If

 

 

但是为什么表里面的状态列不显示相关内容呢???

 

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
wealthwind
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/5/9 14:15:00 [只看该作者]

全局代码我没有设置相关代码的..因为没有用到图片。。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/9 15:30:00 [只看该作者]

你换成这样试试

 

If e.Col.Name = "状态" Or e.Col.Name = "审核" Or e.Col.Name = "批准" Or e.Col.Name = "终审" Or e.Col.Name = "裁决" Then
    Dim msg As String
    If e.Col.Name = "状态" Then
        If e.Row.isnull("裁决")=False Then
            msg  = "已裁决"
        Else If e.Row .isnull("终审")=False Then
            msg = "已终审"
        Else If e.Row.isnull("批准") =False Then
            msg  = "已批准"
        Else If e.Row.Isnull("审核") = False Then
            msg  = "已审核"
        Else
            msg  = "已提报"
        End If
    Else
        Dim tl As Integer = e.Text.Length
        Select Case tl
            Case 2
                msg = "  " & e.Text & "  "
            Case 3
                msg = " " & e.Text & " "
            Case Else
                msg = e.Text
        End Select
    End If
    e.StartDraw()
   
    If msg = "" Then Return
    If tl <= 4 Then
        e.Col.Width = 61
    Else
        e.Col.width = tl*15+1
    End If
   
    Dim w As Integer = e.Width - 4
    Dim h As Integer = e.Height - 4
    Dim x As Integer = e.x + (e.Width - w)/2
    Dim n As Pen
    Dim fnt As New Font("宋体",9,FontStyle.Bold)
    Dim br As Brush
   
    If e.Text.Contains("已") Then
        n = New Pen(Color.Green,2)
        br = New SolidBrush(color.Green)
    Else
        n = New Pen(Color.Red,2)
        br = New SolidBrush(color.red)
    End If
   
    e.Graphics.DrawRectangle(n,x,e.y + 2,w,h)
    e.Graphics.DrawString(msg,fnt,br,x + 1,e.y + 4)
    e.Text = ""
    e.EndDraw()
End If


 回到顶部
帅哥哟,离线,有人找我吗?
wealthwind
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:3965 威望:0 精华:0 注册:2014/3/16 20:34:00
  发帖心情 Post By:2014/5/9 17:46:00 [只看该作者]

老师,为什么会显示错误呢??
图片点击可在新窗口打开查看此主题相关图片如下:360截图20140509174531875.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/9 17:49:00 [只看该作者]

 呃,再改

 

If e.Col.Name = "状态" Or e.Col.Name = "审核" Or e.Col.Name = "批准" Or e.Col.Name = "终审" Or e.Col.Name = "裁决" Then
    Dim msg As String
    Dim tl As Integer
    If e.Col.Name = "状态" Then
        If e.Row.isnull("裁决")=False Then
            msg  = "已裁决"
        Else If e.Row .isnull("终审")=False Then
            msg = "已终审"
        Else If e.Row.isnull("批准") =False Then
            msg  = "已批准"
        Else If e.Row.Isnull("审核") = False Then
            msg  = "已审核"
        Else
            msg  = "已提报"
        End If
    Else
        tl = e.Text.Length
        Select Case tl
            Case 2
                msg = "  " & e.Text & "  "
            Case 3
                msg = " " & e.Text & " "
            Case Else
                msg = e.Text
        End Select
    End If
    e.StartDraw()
   
    If msg = "" Then Return
    If tl <= 4 Then
        e.Col.Width = 61
    Else
        e.Col.width = tl*15+1
    End If
   
    Dim w As Integer = e.Width - 4
    Dim h As Integer = e.Height - 4
    Dim x As Integer = e.x + (e.Width - w)/2
    Dim n As Pen
    Dim fnt As New Font("宋体",9,FontStyle.Bold)
    Dim br As Brush
   
    If e.Text.Contains("已") Then
        n = New Pen(Color.Green,2)
        br = New SolidBrush(color.Green)
    Else
        n = New Pen(Color.Red,2)
        br = New SolidBrush(color.red)
    End If
   
    e.Graphics.DrawRectangle(n,x,e.y + 2,w,h)
    e.Graphics.DrawString(msg,fnt,br,x + 1,e.y + 4)
    e.Text = ""
    e.EndDraw()
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2014/5/9 17:49:00 [只看该作者]

变量封闭了,把声明语句移到if 上面去


 回到顶部
总数 25 上一页 1 2 3 下一页