Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格绘图2


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

主题:[求助]单元格绘图2

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/27 17:28:00 [显示全部帖子]

If e.Col.name.StartsWith("时_") Then
    e.StartDraw()
    Dim ct As Integer = e.Row("项目时间")
    Dim t As Integer = e.Col.Name.Replace("时_", "")
    Dim pt As Integer = e.Table.Compute("sum(项目时间)", "_Identify < " & e.Row("_Identify"))
   
    If pt+ct > t-60 Then
        If pt >= t-60 AndAlso pt < t Then
            Dim x As Integer = (e.width-2) * (pt-t+60) / 60
            Dim width As Integer
            If pt+ct > t Then
                width = (e.width-2) *(t-pt) / 60
            Else
                width = (e.width-2) *(ct) / 60
            End If
            e.Graphics.FillRectangle(Brushes.Green,e.x + x + 1,e.y + 1, Width, e.Height - 2)
        ElseIf t > pt+60
            Dim x As Integer = 0
            Dim width As Integer
            If pt+ct > t Then
                width = e.width-2
            Else
                width = (e.width-2) *(pt+ct-t+60) / 60
            End If
            e.Graphics.FillRectangle(Brushes.Green,e.x + x + 1,e.y + 1, Width, e.Height - 2)
        End If
    End If
    e.EndDraw()
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 19:50:00 [显示全部帖子]

少一小时什么意思?

 

If e.Col.name.StartsWith("时_") Then
    e.StartDraw()
    Dim ct As Integer = e.Row("项目时间")
    Dim t As Integer = e.Col.Name.Replace("时_", "")
    Dim pt As Integer = e.Table.Compute("sum(项目时间)", "_Identify < " & e.Row("_Identify") & " and 日期 = '" & e.Row("日期") & "'")
   
    If pt+ct > t-60 Then
        If pt >= t-60 AndAlso pt < t Then
            Dim x As Integer = (e.width-2) * (pt-t+60) / 60
            Dim width As Integer
            If pt+ct > t Then
                width = (e.width-2) *(t-pt) / 60
            Else
                width = (e.width-2) *(ct) / 60
            End If
            e.Graphics.FillRectangle(Brushes.Green,e.x + x + 1,e.y + 1, Width, e.Height - 2)
        ElseIf t > pt+60
            Dim x As Integer = 0
            Dim width As Integer
            If pt+ct > t Then
                width = e.width-2
            Else
                width = (e.width-2) *(pt+ct-t+60) / 60
            End If
            e.Graphics.FillRectangle(Brushes.Green,e.x + x + 1,e.y + 1, Width, e.Height - 2)
        End If
    End If
    e.EndDraw()
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:00:00 [显示全部帖子]

一个单元格一个小时啊。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:04:00 [显示全部帖子]

 什么不对啊,80分,就是一个60+20啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:14:00 [显示全部帖子]

那你把8:00的列名改成9:00就行啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 22:30:00 [显示全部帖子]

 我看不懂你的逻辑,80分钟,就是占用一个多一点的单元格啊,要不你就多加60分钟给它。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/29 10:12:00 [显示全部帖子]

Dim ct As Integer = e.Row("项目时间")

改成

 

Dim ct As Integer = e.Row("项目时间") + 60


 回到顶部