添加摘要任务
在工具栏中和快捷菜单中,都有“添加摘要任务”的命令,执行该命令,会自动当前位置插入一个摘要任务,原来的任务自动成为该摘要任务的 子任务。
实际操作的时候,也可以直接增加一个普通任务,然后利用上移、下移、左移、左移等按钮,将其他任务移到该任务之下,该任务就自动成了一个摘要任务:
删除摘要任务
如果删除摘要任务,那么它所有的子任务都会被删除,万一发生误删除,可以单击工具栏中的撤销按钮。
通过代码设置摘要任务
Task有个OutlineParent属性,用于设置父任务(摘要任务),例如执行下面的代码:
Dim
gv
As
GanttView = e.Form.Controls("GanttView1").GanttView
gv.Tasks.Clear()
gv.StartDate =
New
Date(2024,
9, 1)
'添加摘要任务,摘要任务不需要设置属性
Dim
tk1
As
New
Gantt.Task
tk1.Name =
"摘要任务"
gv.Tasks.Add(tk1)
'添加第一个子任务
Dim
tk2
As
New
Gantt.Task
tk2.Name =
"子任务一"
tk2.Mode = Gantt.TaskMode.Automatic
tk2.ConstraintDate =
New
Date(2024,
9, 6)
tk2.ConstraintType = Gantt.ConstraintType.StartNoEarlierThan
tk2.Duration = 3
tk2.OutlineParent = tk1
'给子任务指定摘要(父)任务
gv.Tasks.Add(tk2)
'添加第二个子任务
Dim
tk3
As
New
Gantt.Task()
tk3.Name =
"子任务二"
tk3.Mode = Gantt.TaskMode.Automatic
tk3.ConstraintDate =
New
Date(2024,
9, 8)
tk3.ConstraintType = Gantt.ConstraintType.StartNoEarlierThan
tk3.Duration = 6
tk3.OutlineParent = tk1
'给子任务指定摘要(父)任务
gv.Tasks.Add(tk3)
可以得到:
提示:
除了OutlineParent属性,Task还有一个OutlineParentID属性,用于设置摘要任务的ID,所以
tk2.OutlineParent = tk1
也可以改写为:
tk2.OutlineParentID = tk1.ID
添加子任务
前面的代码是给子任务设置父任务,我们也可以给付父任务添加子任务(使用Task的AddChild方法),效果是一样的:
Dim
gv
As
GanttView = e.Form.Controls("GanttView1").GanttView
gv.Tasks.Clear()
gv.StartDate =
New
Date(2024,
9, 1)
'添加摘要任务,摘要任务不需要设置属性
Dim
tk1
As
New
Gantt.Task
tk1.Name =
"摘要任务"
gv.Tasks.Add(tk1)
'添加第一个子任务
Dim
tk2
As
New
Gantt.Task
tk2.Name =
"子任务一"
tk2.Mode = Gantt.TaskMode.Automatic
tk2.ConstraintDate =
New
Date(2024,
9, 6)
tk2.ConstraintType = Gantt.ConstraintType.StartNoEarlierThan
tk2.Duration = 3
gv.Tasks.Add(tk2)
tk1.AddChild(tk2)
'将tk2添加为tk1的子任务
'添加第二个子任务
Dim
tk3
As
New
Gantt.Task()
tk3.Name =
"子任务二"
tk3.Mode = Gantt.TaskMode.Automatic
tk3.ConstraintDate =
New
Date(2024,
9, 8)
tk3.ConstraintType = Gantt.ConstraintType.StartNoEarlierThan
tk3.Duration = 6
gv.Tasks.Add(tk3)
tk1.AddChild(tk3)
'将tk3添加为tk1的子任务