以文本方式查看主题

-  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=196349)

--  作者:程兴刚
--  发布时间:2025/4/19 0:39:00
--  [求助]甘特图应用中,如何用代码获取前驱任务?
在甘特图应用中,用代码设置前驱任务讲的很明白,但是对于一个已经设置好了的甘特图,如何在遍历甘特图任务时,用代码获取前驱任务?谢谢!
[此贴子已经被作者于2025/4/19 8:25:55编辑过]

--  作者:有点蓝
--  发布时间:2025/4/19 9:15:00
--  
http://www.foxtable.com/webhelp/topics/4042.htm

Predecessors一个集合,包含任务的所有前驱任务,参考:通过代码增加前驱任务

--  作者:程兴刚
--  发布时间:2025/4/19 10:57:00
--  
我是要获取某一任务的前驱任务,不知道Predecessors集合是什么类型,如河遍历获取?试了几次不成功!
--  作者:有点蓝
--  发布时间:2025/4/19 11:28:00
--  
2楼帮助里有这个类型的用法,和普通集合一样遍历即可。新版代码编辑器里也很容易就看到各种类型呀

Dim gv As GanttView = Forms("窗口1").Controls("GanttView1").GanttView
Dim tk As Gantt.Task = gv.Tasks.Search("Task3")
If tk IsNot Nothing Then
    Dim p As Gantt.Predecessor = tk.Predecessors(0)
    Output.Show(p.PredecessorTask.Name)

    For Each t As Gantt.Predecessor In tk.Predecessors
        Output.Show(t.PredecessorTask.Name)
    Next 
End If

--  作者:程兴刚
--  发布时间:2025/4/19 19:07:00
--  
谢谢,要的就是这个!