甘特图

本节的内容可以参考CaseStudy目录下的文件:甘特图.Table

Gantt(甘特图)用于表示任务的持续时间或进度,是一个很特殊的图表,设置方法和其他的图表有很大的不同。

甘特图用一个图系表示一个任务,用图系集合的AddGanttSeries方法来增加甘特图任务图系。

语法:

AddGanttSeries(taskName,startTime, endTime)

taskName: 任务名称
startTime:开始时间
endName:   结束时间

或者

AddGanttSeries(taskName,startTime(), endTime())

taskName: 任务名称
startTime:开始时间数组
endName:   结束时间数组

另外图系集合提供了一个AddGanttLabels,用于给甘特图加上标示。

语法:

AddGanttLabels(FormatStr)

FormatStr: 格式字符串。

甘特图的Y轴刻度是时间,不是数值,需要用坐标轴的MinDate和MaxDate设置Y轴的起始日期和终止日期。

示例

Dim Chart As WinForm.Chart
Chart= Forms("窗口1").Controls("Chart1")
Chart.ChartType = ChartTypeEnum.Gantt
'图表类型为甘特图
Chart.Inverted = True
'对调X轴和Y轴位置
Chart.AxisY.DateType= True
'Y轴为日期型
Chart.AxisY.AnnoFormatString = "MM-dd"
'设置Y轴的标示格式
Chart.AxisY.MinDate = #01/01/2010#
'设置Y轴的起始日期
Chart.AxisY.MaxDate = #04/30/2010#
'设置Y轴的终止日期
Chart.AxisX.GridMajorVisible = False
'隐藏X轴的网格线
With
Chart.SeriesList
    .AddGanttSeries("任务一", #1/1/2010#, #3/9/2010#)
    .AddGanttSeries("任务二", #1/23/2010#, #2/14/2010#)
    .AddGanttSeries("任务三", #1/21/2010#, #2/24/2010#)
    .AddGanttSeries("任务四", New DateTime() {#1/22/2010#, #2/28/2010#}, New DateTime() {#2/12/2010#, #3/24/2010#})
    .AddGanttSeries("任务五", New DateTime() {#2/13/2010#, #3/8/2010#}, New DateTime() {#3/5/2010#, #3/31/2010#})
    .AddGanttSeries("任务六", #3/15/2010#, #4/20/2010#)
    .AddGanttSeries("任务七", #4/6/2010#, #4/30/2010#)
    .AddGanttLabels("M月d日")

End
with

这是生成的甘特图:


本页地址:http://www.foxtable.com/webhelp/topics/2032.htm