以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]汇总表做甘特图  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125113)

--  作者:swimmer01
--  发布时间:2018/9/20 9:52:00
--  [求助]汇总表做甘特图
老师好!
我有一项目进度计划,需做甘特图,按帮助文件只是将左侧任务表改为其汇总表,由于汇总表能按分组折叠,右侧的甘特图无法跟随,请教有无办法?谢谢!

--  作者:有点甜
--  发布时间:2018/9/20 9:56:00
--  
右侧的甘特图,也多加辅助列,把左边的分组列的内容填写过来同样也分组折叠试试。
--  作者:有点甜
--  发布时间:2018/9/20 9:57:00
--  
不然,就在左边分组折叠的使用,重新生成甘特图 。
--  作者:swimmer01
--  发布时间:2018/9/20 10:01:00
--  
多级分组折叠后左边表无法定位行及取数据?
--  作者:有点甜
--  发布时间:2018/9/20 10:17:00
--  
以下是引用swimmer01在2018/9/20 10:01:00的发言:
多级分组折叠后左边表无法定位行及取数据?

 

具体说明你的问题,上传具体例子测试。


--  作者:swimmer01
--  发布时间:2018/9/20 10:29:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目计划管理.zip


--  作者:有点甜
--  发布时间:2018/9/20 10:36:00
--  

取数据,修改

 

If DrawGannt Then
    Dim r As Row  = Tables("项目甘特图_Table1").Rows(e.Row.Index, True)
    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
        e.StartDraw()
        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
End If


--  作者:有点甜
--  发布时间:2018/9/20 10:50:00
--  

至于选定行比较麻烦。点击汇总行,不会触发任何表事件的,这个时候你要额外绑定一个事件处理

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=105737&skin=0

 


--  作者:swimmer01
--  发布时间:2018/9/20 11:19:00
--  
还是不理解,处理思路,
--  作者:有点甜
--  发布时间:2018/9/20 11:24:00
--  
看7楼,修改代码。