Foxtable(狐表)用户栏目专家坐堂 → 甘特图的改变问题?


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

主题:甘特图的改变问题?

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
甘特图的改变问题?  发帖心情 Post By:2018/9/22 10:24:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:再试甘特图222222222222.table

如图,如案例:

我添加了“确认结束日期”一列,想把右边的甘特图改成:1、每一项任务结束后必须确认日期,如“确认结束日期”和“结束日期”相同,则甘特图显示如上面的样子;2、在结束日期未到的情况下,也就是“确认结束日期”未确认的情况下,甘特图正常显示;3、在结束日期已过,且“确认结束日期”未确认的情况下,从结束日期到今天之间在甘特图上显示为灰色。

求大神指点,可否实现?


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


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2018/9/22 10:29:00 [只看该作者]

还有第四种情况:如果“确认结束日期”的日期确认后,大于“结束日期”的情况下,超出日期仍以灰色显示,但不增加了!跪求指点?

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/22 10:56:00 [只看该作者]

If DrawGannt Then
    Dim r As Row  = Tables("任务").Rows(e.Row.Index)
    Dim dt1 As Date = r("开始日期")
    Dim dt2 As Date = r("结束日期")
    Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
    If dt>=dt1 AndAlso dt<=dt2 Then
        
        If dt < Date.Today Then
            e.Graphics.FillRectangle(Brushes.Green,e.x ,e.y + 5, e.Width, e.Height - 10)
        Else
            e.Graphics.FillRectangle(Brushes.Red,e.x ,e.y + 3, e.Width, e.Height - 7)
        End If
        e.EndDraw()
    End If
    If r.IsNull("结束日期") = False AndAlso dt <= Date.Today  AndAlso dt>dt2 AndAlso  ((r.IsNull("确认结束日期") AndAlso dt2 < Date.Today) OrElse  r("确认结束日期") > dt2)  Then
        e.StartDraw()
        e.Graphics.FillRectangle(Brushes.LightGray,e.x ,e.y + 3, e.Width, e.Height - 7)
        e.EndDraw()
    End If
End If

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2018/9/22 11:01:00 [只看该作者]

跪谢老师!
还有第四种情况:如果“确认结束日期”的日期确认后,大于“结束日期”的情况下,超出日期仍以灰色显示,但不增加了!跪求指点?

还有这种情况?求指点?

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/22 11:03:00 [只看该作者]

参考3楼的方法自己做,做不通把你的代码贴上来

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2018/9/22 11:19:00 [只看该作者]

If DrawGannt Then
    Dim r As Row  = Tables("任务").Rows(e.Row.Index)
    Dim dt1 As Date = r("开始日期")
    Dim dt2 As Date = r("结束日期")
    Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
    If dt>=dt1 AndAlso dt<=dt2 Then
        
        If dt < Date.Today Then
            e.Graphics.FillRectangle(Brushes.Green,e.x ,e.y + 5, e.Width, e.Height - 10)
        Else
            e.Graphics.FillRectangle(Brushes.Red,e.x ,e.y + 3, e.Width, e.Height - 7)
        End If
        e.EndDraw()
    End If
    If r.IsNull("结束日期") = False AndAlso dt <= Date.Today  AndAlso dt>dt2 AndAlso  ((r.IsNull("确认结束日期") AndAlso dt2 < Date.Today) OrElse  r("确认结束日期") > dt2 OrElse  r("确认结束日期") < dt)  Then
        e.StartDraw()
        e.Graphics.FillRectangle(Brushes.LightGray,e.x ,e.y + 3, e.Width, e.Height - 7)
        e.EndDraw()
    End If
End If


结束日期小于今天,改了好像没反应?求助?

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


加好友 发短信
等级:超级版主 帖子:112401 积分:572273 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/22 11:34:00 [只看该作者]

 If r.IsNull("结束日期") = False AndAlso dt>dt2 AndAlso  ((r.IsNull("确认结束日期") AndAlso dt2 < Date.Today AndAlso dt <= Date.Today) OrElse  r("确认结束日期") > dt2 AndAlso dt < r("确认结束日期"))  Then
……

 回到顶部