以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  问个甘特图的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88367)

--  作者:blackzhu
--  发布时间:2016/8/1 16:18:00
--  问个甘特图的问题
 甘特图只有三个参数 :第一个参数 是任务, 第二个参数是 开始日期,  第三个参数是结束日期, 请问如何修改开始日期的字体颜色 以及 结束任务的字体颜色.
--  作者:blackzhu
--  发布时间:2016/8/1 16:34:00
--  
现在我在甘特图中加入了日期数组,发现一个问题

比如

第一个日期组: 开始日期和结束日期是相同的
第二个日期组:开始日期和结束日期是不同的

生成后,第一个日期组和第二个日期组的日期重叠在一起. 这个不知道怎么修改为好!


--  作者:大红袍
--  发布时间:2016/8/1 17:50:00
--  

mark 甘特图

 

第二段代码,自己处理一下。

 

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 = New DateTime(2004, 1, 1)
Chart.AxisY.MaxDate = New DateTime(2004, 4, 30)
Chart.AxisX.GridMajorVisible = False \'隐藏X轴的网格线

 


Dim bchart = chart.BaseControl

Dim cg = bchart.ChartGroups.Group0
Dim cdsc = cg.ChartData.SeriesList
cdsc.Clear()

Dim clc = bchart.ChartLabels.LabelsCollection

Dim cds = cdsc.AddNewSeries()
cds.Label = "任务一"
cds.Y.CopyDataIn(New DateTime() {New DateTime(2004, 1, 1)})
cds.Y1.CopyDataIn(New DateTime() {New DateTime(2004, 3, 9)})
Dim p As Integer
clc.clear
For p = 0 To cds.Length - 1
    Dim lab As C1.Win.C1Chart.Label = clc.AddNewLabel()
    Dim start As DateTime = CType(cds.Y(p), DateTime)
    Dim [End] As DateTime = CType(cds.Y1(p), DateTime)
    lab.Text = start.ToString("ddMMM") + "-" + [End].ToString("ddMMM")
    lab.AttachMethod = C1.Win.C1Chart.AttachMethodEnum.DataIndex
    lab.AttachMethodData.GroupIndex = 0
    lab.AttachMethodData.SeriesIndex = 0
    lab.AttachMethodData.PointIndex = p
    lab.Compass = LabelCompassEnum.West
    lab.Offset = 0
    lab.style.forecolor = Color.red
    lab.Visible = True
Next


--  作者:大红袍
--  发布时间:2016/8/1 17:52:00
--  
 重叠的情况,你可以试试,先添加日期长的那个,再添加日期短的那个。