彩票走势图

甘特图控件XGantt使用教程:如何使用值来标记曲线

原创|使用教程|编辑:龚雪|2014-01-15 11:56:41.000|阅读 607 次

概述:当涉及到详细的生产规划时,如果能用一个柱状图表示资源,既允许生产管理者迅速识别产能瓶颈,又能显示资源利用率的精确值,那就再好不过了。XGantt就可以帮你做到。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

一个较为综合的柱状图往往包含许多堆叠的有多个值的曲线,时间一久,柱状图就变得越来越复杂以至于一些标签常常不易读取,或者曲线不能再被标记。若在应用程序中只显示少数变量,为X方向的腾出一个标签的空间,就可以整合第二个可获取曲线标记的XGantt图放在柱状图下面了。

在下面由VARCHART XGantt ActiveX创建的甘特图中,包括了资源调度模块。机器的产能(以生产件数来计算)与预定的生产件数一起显示(第一个数字总是表示利用值,第二个数字表示资源的最大可用值) :

甘特图控件XGantt使用教程:如何使用值来标记曲线

图中带标记的订单规定了生产量30件,柱状图显示了资源调度计算的产品20件(8点)和10件(9点)。所以在9点钟还有10件的可用产能。

XGantt的水平滚动条可被禁用,以使两个图表实体看起来像一个图。而且,缩放系数、表格宽度、水平滚动位移和单位宽度必须是相同的,这些由OnTableWidth 、OnTimeScaleSectionRescale、 OnZoomFactorModifyComplete和On(Pre)ScrollDiagramHor事件来实现。示例ControlCenter显示了两个XGantt实体的布局(一个在另一个下面)是如何实现的。

在创建第二个XGantt图时可创建一个包含标签的层,数字可放入其中。该层是无边界线的透明层,使标签看起来并不像一般的层。在运行时,每个标签都有一个组和一个节点,标签被放置在那段曲线中以备使用。当组布局被切换到“所有节点位于一列”或“节点优化”时 ,这些标签将在X方向的准确位置彼此相邻。

使用以下代码创建标签(VB98):

Private Sub loadCurveValues(histogramName As String)

   Dim currentDate As Date Dim capacityCurve As VcCurve
   Dim histogram As VcHistogram
   Dim capacityCurve As VcCurve
   Dim loadCurve As VcCurve
   Dim leftDate As Date
   Dim rightDate As Date
   Dim leftValue1 As Long
   Dim leftValue2 As Long
   Dim cal As VcCalendar

重置第二个XGantt(在几个曲线之间切换才有必要): 

VcGantt2.Reset vcRemoveNodes

计算必要的对象:

Set cal = VcGantt1.CalendarCollection.Active
   Set histogram = VcGantt1.HistogramCollection.HistogramByName _(histogramName)
   Set capacityCurve = histogram.CurveCollection.CurveByName
(histogramName)Set loadCurve = histogram.CurveCollection.CurveByName _("Load_" + histogramName)

在循环中创建随时间显示的节点:

currentDate = VcGantt1.TimeScaleStart
   Do While currentDate < VcGantt2.TimeScaleEnd

读取曲线:

Call capacityCurve.GetValues(d, leftDate, leftValue1, _ rightDate, rightValue)
      Call loadCurve.GetValues(d, leftDate, leftValue2, _rightDate, rightValue)

为第二个 XGantt创建节点:使用Node-ID, 2 values, group name =

'histogram name, start and end date

VcGantt2.InsertNodeRecord CStr(d) + ";" + _
                CStr(leftValue2) + "/" + _
                CStr(leftValue2) + "/" + _
                histogramName + ";" + _
                normDat(d) + ";" + _
                normDat(DateAdd("h", 1, d))

计算下一次开始日期:

currentDate = cal.AddDuration(currentDate, 1)
      If Hour(currentDate) = 17 Then
            currentDate = cal.AddDuration(cal.AddDuration(currentDate, 1), -1)
      End If
   Loop

导入所有节点到甘特图:

VcGantt2.EndLoading

再次运行分组:

 VcGantt2.GroupNodes True
End Sub

>>VARCHART XGantt详情

>>VARCHART XGantt下载试用


标签:XGantt

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
VARCHART XGantt

用于工业4.0项目管理、交互式的甘特图绝佳解决方案,世界级甘特图大师

VARCHART JGantt

VARCHART JGantt控件及其全面的对象模型是快速开发交互式Java甘特图的理想工具。

VARCHART XTree

VARCHART XTree 是显示任何分级结构的完美工具,可轻松而迅速地用树图来显示、编辑和打印你想要的数据。

VARCHART XNet

领先的项目管理控件,让你图形化显示、编辑和打印你的数据,用网络图显示流程,拥有强大的内建布局算法和集成的调度模块。

VARCHART XGantt高级培训

慧都资深培训师将对VARCHART XGantt控件的产品功能、特征亮点进行详细讲解,结合控件在行业应用中的成功案例,使您快速掌握VARCHART XGantt的使用方法及应用技巧,从根本上提高您的控件应用能力,让您在项目开发中事半功倍!

title
title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP