Foxtable(狐表)用户栏目专家坐堂 → [求助]甘特图的特别运用


  共有1743人关注过本帖树形打印复制链接

主题:[求助]甘特图的特别运用

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 17:31:00 [显示全部帖子]

以下是引用堕落的后天在2017/11/26 14:57:00的发言:
版主  已经解决了问题  ,我还想问问  ;这个生成的甘特图  能和表进行数据互动么?  

 

如何互动,指什么?只能根据表格生成甘特图,你无法操作甘特图修改表信息的。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/26 21:49:00 [显示全部帖子]

以下是引用堕落的后天在2017/11/26 18:11:00的发言:
额  也就是说只能看看,不能根据表改动数据了.   


我看 图表一章  有个“数据标示”   Series.TooltipText  这个属性适用于  甘特图么?(比如我鼠标移到一个区块上,就能显示该区块的其他字段信息)



 

表改动数据以后,重新生成甘特图,不就好了?

 

如果要有提示,参考代码

 

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, 7, 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),New DateTime(2004, 5, 1)})
cds.Y1.CopyDataIn(New DateTime() {New DateTime(2004, 3, 9),New DateTime(2004, 6, 1)})
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
cds.tooltiptext = "123"

cds = cdsc.AddNewSeries()
cds.Label = "任务二"
cds.Y.CopyDataIn(New DateTime() {New DateTime(2004, 2, 1)})
cds.Y1.CopyDataIn(New DateTime() {New DateTime(2004, 3, 9)})
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 = 1
    lab.AttachMethodData.PointIndex = p
    lab.Compass = LabelCompassEnum.West
    lab.Offset = 0
    lab.style.forecolor = Color.red
    lab.Visible = True
Next
cds.tooltiptext = "abc"


 回到顶部