用代码设置列
一般用户 请跳过本节的内容。
类型TaskPropertyColumn用于表示甘特图中的列,例如:
Dim
gv
As
GanttView = e.Form.Controls("GanttView1").GanttView
Dim
tcp
As
Gantt.TaskPropertyColumn = gv.Columns.Search(Gantt.TaskProperty.Start)
'引用"开始日期"列
tcp.Caption =
"开始"
'修改列标题
tcp.Format =
"yyyy年M月d日"
'设置显示格式
tcp.TextAlign = HorizontalAlignment.Right
'设置文本排列方式
tcp.Width = 100
'设置列宽
tcp.Visible =
True
'设置
gv.GridWidth = 330
'设置表格宽度
Gantt.TaskProperty是一个枚举,用于索引具体的列,可选值有:
Mode: 计划模式
Name: 任务名称
Duration: 持续时间
DurationUnits: 时间单位
Start: 开始时间
Finish: 结束时间
PercentComplete: 完成百分比
ConstraintType: 约束类型
ConstraintDate: 约束日期
Predecessors: 前驱任务
Deadline: 截止日期
Calendar: 日历
ResourceNames: 资源名称
Notes: 备注
批量设置列
GanttView的SetColumns方法,用于批量设置列,例如:
Dim
gv
As
GanttView = e.Form.Controls("GanttView1").GanttView
Dim
prps()
As
Gantt.TaskProperty = {Gantt.TaskProperty.Mode, Gantt.TaskProperty.Name,
Gantt.TaskProperty.Start,
Gantt.TaskProperty.Duration, Gantt.TaskProperty.Finish,
Gantt.TaskProperty.PercentComplete}
'指定要显示的列
Dim
nams()
As
String
= {"计划模式",
"任务名称",
"开始日期",
"持续天数",
"结束日期",
"完成百分比"}
'指定列标题
Dim
wids()
As
Integer
= {70, 100, 100, 70, 100, 50}
'指定列宽
Dim
vibs()
As
Boolean
= {True,
True,
True,
True,
False,
False}
'指定列是否可见
gv.GridWidth = 370
'指定
表格宽度
gv.SetColumns(prps, nams, wids, vibs)
'批量设置列
'单独设置某列的属性
Dim
tcp
As
Gantt.TaskPropertyColumn = gv.Columns.Search(Gantt.TaskProperty.Start)
tcp.Format =
"M月d日"
tcp.TextAlign = HorizontalAlignment.Right
tcp = gv.Columns.Search(Gantt.TaskProperty.Duration)
tcp.TextAlign = HorizontalAlignment.Right
执行上面的代码后,甘特图将有六列,前四列默认可见,后两列默认隐藏。
需要注意的是,除了这六列,其他列都不再可用,你现在单击工具栏“表格列”按钮,只会看到六列可选:
重要提示:
所有关于列的代码,都应该在加载XML文件或绑定数据表之后执行,否则会被覆盖。