使用代码设置样式
设置默认样式
如果要设置默认的任务条样式,可以参考代码:
Dim gv As GanttView = e.Form.Controls("GanttView1").GanttView
'设置自动计划任务条样式
Dim
st1
As
Gantt.BarStyle = gv.BarStyles.Search(Gantt.BarType.AutoTask)
'检索是否定义了自动任务样式
If
st1
Is
Nothing
Then
'如果没有定义
st1 =
New
Gantt.BarStyle()
'创建一个新样式
st1.BarType = Gantt.BarType.AutoTask
'指定为自动任务条的样式
gv.BarStyles.Add(st1)
'将样式添加到GanttView的BarStyles集合中
End
If
st1.BarShape = Gantt.BarShape.ThickBar
'设置形状
st1.BarPattern = Gantt.HatchPattern.ZigZag
'设置模式
st1.BarColor = Color.Beige
'设置颜色
st1.RightText1 = gv.Columns.Search(Gantt.TaskProperty.Name)
'任务条右侧文本文为任务名
'设置手动任务条样式
st1 = gv.BarStyles.Search(Gantt.BarType.ManualTask)
'检索是否定义了手动任务样式
If
st1
Is
Nothing
Then
'如果没有定义
st1 =
New
Gantt.BarStyle()
'创建一个新样式
st1.BarType = Gantt.BarType.ManualTask
'指定为手动任务条的样式
gv.BarStyles.Add(st1)
'将样式添加到GanttView的BarStyles集合中
End
If
st1.BarShape = Gantt.BarShape.ThickBar
'设置形状
st1.BarPattern = Gantt.HatchPattern.ZigZag
'设置模式
st1.BarColor = Color.LightBLue
'设置颜色
st1.RightText1 = gv.Columns.Search(Gantt.TaskProperty.Name)
'任务条右侧文本文
为任务名
'设置百分比进度条样式
st1 = gv.BarStyles.Search(Gantt.BarType.Progress)
'检索是否定义了百分比进度条样式
If
st1
Is
Nothing
Then
'如果没有定义
st1 =
New
Gantt.BarStyle()
'创建一个新样式
st1.BarType = Gantt.BarType.Progress
'指定为百分进度条的样式
gv.BarStyles.Add(st1)
'将样式添加到GanttView的BarStyles集合中
End
If
st1.BarShape = Gantt.BarShape.ThickBar
'设置形状
st1.BarPattern = Gantt.HatchPattern.Percent50
'设置模式
st1.BarColor = Color.Green
'设置颜色
st1.RightText1 = gv.Columns.Search(Gantt.TaskProperty.PercentComplete)
'任务条右侧文本为完成百分比
得到的效果为:
提示:
1、BarShape和BarPattern也可以用数字表示,数字就是你在“条形样式”窗口中所选项目的位置顺序号。
2、上下左右四个位置,都可以显示两个文本,例如你要在右侧显示两个文本,可以分别设置RightText1和RightText2属性:
st1.RightText1 = gv.Columns.Search(Gantt.TaskProperty.Name)
'右侧文本1文为任务名
st1.RightText2 = gv.Columns.Search(Gantt.TaskProperty.PercentComplete)
'右侧文本2文为百分比进度
设置单个任务的样式
设置单个任务的样式和设置默认样式代码一样,唯一差别是前者将样式添加到Task的BarSyles集合中,后这个将样式添加到GantView的BarStyles集合中,例如:
Dim
gv
As
GanttView = e.Form.Controls("GanttView1").GanttView
Dim
tk
As
Gantt.Task = gv.Tasks.Search("Task1")
'注意我们是如何获取Task1的
Dim
st1
As
Gantt.BarStyle = tk.BarStyles.Search(Gantt.BarType.AutoTask)
'检索Task1是否自定义了自动任务条形样式
If
st1
Is
Nothing
Then
'如果没有
st1 =
New
Gantt.BarStyle()
'则新建一个样式
st1.BarType = Gantt.BarType.AutoTask
'指定为自动任务条的样式
tk.BarStyles.Add(st1)
'奖样式添加到Task的BarStyles集合中
End
If
st1.BarShape = Gantt.BarShape.ThickBar
'设置形状
st1.BarPattern = Gantt.HatchPattern.ZigZag
'设置模式
st1.BarColor = Color.Beige
'设置颜色
st1.RightText1 = gv.Columns.Search(Gantt.TaskProperty.Name)
'右侧文本1文为任务名
st1.RightText2 = gv.Columns.Search(Gantt.TaskProperty.PercentComplete)
'右侧文本2文为百分比进度
st1 = tk.BarStyles.Search(gantt.BarType.Progress)
'检索Task1是否自定义了百分比进度条形样式
If
st1
Is
Nothing
Then
'如果没有
st1 =
New
Gantt.BarStyle()
'则新建一个样式
st1.BarType = Gantt.BarType.Progress
'指定为百分比进度条的样式
tk.BarStyles.Add(st1)
'将样式添加到Task的BarStyles集合中
End
If
st1.BarShape = Gantt.BarShape.ThickBar
'设置形状
st1.BarPattern = Gantt.HatchPattern.Percent50
'设置模式
st1.BarColor = Color.Blue
'设置颜色