以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  甘特图日期问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120268)

--  作者:douglas738888
--  发布时间:2018/6/11 15:36:00
--  甘特图日期问题

请教老师,根据帮助写的代码,现在绘制出的甘特图,超期(完成时间)的日期起点与结束日期重叠,怎样写代码让绘制的时间精确

 

例如:                                                                 2018年6月

 开始时间            结束时间         完成时间                1  2  3  4  5  6  7  8             应该是  1  2  3  4  5  6  7  8   

2018-06-01    2018-06-05     2018-06-07                  ·················  ······                              .....   ...................

If DrawGannt Then
    Dim r As Row  = Tables("表B.表D").Rows(e.Row.Index)
    Dim dt1 As Date = r("开始时间")
    Dim dt2 As Date = r("结束时间")
    Dim dt3 As Date = r("完成时间")
    Dim dt As Date = e.Col.Name.Replace("年","-").Replace("月_","-")
    e.StartDraw()
    If dt >= dt1 AndAlso dt <= dt2 Then
        e.Graphics.FillRectangle(Brushes.LimeGreen,e.x ,e.y + 5, e.Width, e.Height - 10)
    End If

 

后续代码省略.........

[此贴子已经被作者于2018/6/11 15:36:51编辑过]

--  作者:douglas738888
--  发布时间:2018/6/11 15:44:00
--  

解决了

后续代码If dt >= dt2 AndAlso dt <= dt3 Then  改成 

If dt > dt2 AndAlso dt <= dt3 Then 


--  作者:有点甜
--  发布时间:2018/6/11 15:45:00
--  

没看懂你的意思。请贴出完整代码。

 

按照你的例子,把6号7号弄成红色就可以了?