以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单元格绘图  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78714)

--  作者:一笑
--  发布时间:2015/12/15 16:18:00
--  单元格绘图

示例文件中,进度列属性为字符,不太理解,其次,能否绘制出来显示百分比数字,如40%,而不是40,谢谢


If e.Col.Name = "进度" AndAlso e.Row.IsNull("进度") = False Then
    e.StartDraw()

    Dim
 Width As Integer = (e.Width - 2 )* e.Row("进度") \\ 100
    
If e.Row("进度") = 100 Then
        e.Graphics.FillRectangle(Brushes.Green,e.x + 
1,e.y + 1, Width, e.Height - 2)
    Else

        e.Graphics.FillRectangle(Brushes.Red,e.x + 
1,e.y + 1, Width, e.Height - 2)
    End
 If
    e.EndDraw()

End
 
If



--  作者:大红袍
--  发布时间:2015/12/15 16:37:00
--  

1、你可以设置成数值列,然后设置成百分比的格式;

 

2、你可以改代码

 

\'\'\'
If e.Col.Name = "进度" AndAlso e.Row.IsNull("进度") = False Then
    e.StartDraw()
    Dim Width As Integer = (e.Width - 2 )* e.Row("进度") \\ 100
    If e.Row("进度") = 100 Then
        e.Graphics.FillRectangle(Brushes.Green,e.x + 1,e.y + 1, Width, e.Height - 2)
    Else
        e.Graphics.FillRectangle(Brushes.Red,e.x + 1,e.y + 1, Width, e.Height - 2)
    End If
    e.text = e.text & "%"
    e.EndDraw()
End If