以文本方式查看主题

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

--  作者:playmal
--  发布时间:2020/6/22 11:26:00
--  甘特图问题

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
为什么出现这个问题,到结束日期却没有停止绿色的绘制。

--  作者:playmal
--  发布时间:2020/6/22 11:27:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/6/22 11:31:00
--  
请上传实例说明
--  作者:playmal
--  发布时间:2020/6/22 11:50:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:编码绘制甘特图.table


--  作者:有点蓝
--  发布时间:2020/6/22 12:10:00
--  

[此贴子已经被作者于2020/6/22 12:13:03编辑过]

--  作者:有点蓝
--  发布时间:2020/6/22 12:49:00
--  
去掉窗口afterload这段代码

Dim tb As Table = Tables("窗口1_Table2")
tb.Grid.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom
Dim minD As Date = Tables("任务").Compute("min(开始日期)")
For i As Integer = tb.HeaderRows To tb.Rows.Count
    Dim r As Row  = Tables("任务").Rows(i-2)
    Dim dt1 As Date = r("开始日期")
    Dim dt2 As Date = r("结束日期")
    Dim sp As TimeSpan = dt2 - dt1
    Dim sp2 As TimeSpan = dt1 - minD
    Dim rng As C1.Win.C1FlexGrid.CellRange = tb.Grid.GetCellRange(i, sp2.TotalDays+1, i, sp2.TotalDays+1+sp.TotalDays)
    tb.Grid.MergedRanges.add(rng)
Next

--  作者:playmal
--  发布时间:2020/6/22 12:57:00
--  
谢谢,现在点击左边的记录,右边没有定位到相应时间起点,请帮助看看如何编制代码。
--  作者:有点蓝
--  发布时间:2020/6/22 13:38:00
--  
请参考帮助示例代码
--  作者:playmal
--  发布时间:2020/6/22 14:00:00
--  
If Forms("窗口1").Opened() Then
    Dim tbl As Table = Tables("窗口1_Table2")
    If tbl.Position <> e.Table.Position Then
        tbl.Position = e.Table.Position
    End If
End If

PositionChanged事件上有上述代码,但是时间横轴并没有定位到开始日期。

--  作者:有点蓝
--  发布时间:2020/6/22 14:14:00
--  
代码没有问题,我测试也没有问题!要保证左右2个表的行高是一致的