VARCHART XGantt是一款功能強大的甘特圖控件。其模塊化的設計讓您能夠建立知足您和您的客戶所需求的應用程序(咱們領先的甘特圖控件VARCHART XGantt可用於.NET,ActiveX和ASP.NET應用程序)。VARCHART XGantt能夠快速、簡單地集成到您的應用程序中,幫助您識別性能瓶頸、避免延遲以及高效利用資源,使複雜數據變得更加容易理解。node
若是您使用Gantt Charts來進行資源控制,那麼您一般會對當前狀況有一個清晰和精確的概述感興趣。特別是在某些事情彷佛不怎麼明瞭的狀況下,您須要當即看到問題。介於此本文旨在講述如何使用值來標記曲線,供你們學習討論。模塊化
詳細的規劃不只須要用直方圖來表示資源,並且還須要顯示資源利用率的準確值,以便可以快速識別資源瓶頸。oop
使用的一個生動的例子是精確控制機器部件數量的生產計劃,因爲一個或多個直方圖的高度複雜性,這些直方圖具備許多值的堆疊曲線,在許多狀況下會致使空間不足,從而妨礙標籤的可讀性,所以不能在其中標記曲線。若是應用程序中只顯示少許且不多更改的值,從而在x方向上爲標籤留出足夠的空間,則能夠經過放置在直方圖下方的第二個VARCHART XGantt實例得到曲線標籤。佈局
在咱們的示例中,甘特圖是由VARCHART XGantt ActiveX建立的。機器的容量由部件的數量來衡量,與計劃的部件數量一塊兒顯示(第一個數字通常表示利用率,第二個數字表示資源的最大可用性):性能
【直方圖中生產計劃顯示利用率】學習
直方圖顯示了資源調度器在8點時計算出的20個片和9點時計算出的10個片的分佈,所以,9點10件的可用容量很容易識別。spa
當組佈局切換到「All nodes in one row」和「Nodes optimized」時,標籤將在正確的位置繪製。使用如下代碼建立標籤:設計
Dim currentDate As Date 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 rightValue As Long Dim cal As VcCalendar 'Reset second XGantt (only necessary if switching between several curves is possible) VcGantt2.Reset vcRemoveNodes 'Calculate necessary objects Set cal = VcGantt1.CalendarCollection.Active Set histogram = VcGantt1.HistogramCollection.HistogramByName _ (histogramName) Set capacityCurve = histogram.CurveCollection.CurveByName(histogramName) Set loadCurve = histogram.CurveCollection.CurveByName _ ("Load_" + histogramName) 'Create nodes in a loop over the time displayed currentDate = VcGantt1.TimeScaleStart Do While currentDate < VcGantt2.TimeScaleEnd 'Read curves Call capacityCurve.GetValues(d, leftDate, leftValue1, _ rightDate, rightValue) Call loadCurve.GetValues(d, leftDate, leftValue2, _ rightDate, rightValue) 'create node for second XGantt with 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)) 'calculate next start date (at the end of a working day moving forward to 'the beginning of the next working day) currentDate = cal.AddDuration(currentDate, 1) If Hour(currentDate) = 17 Then currentDate = cal.AddDuration(cal.AddDuration(currentDate, 1), -1) End If Loop 'import all nodes to the Gantt diagram VcGantt2.EndLoading 'Perform grouping again VcGantt2.GroupNodes True
更多VARCHART XGantt系列教程將在後續更新,敬請關注~orm
查看文章轉載原文請點擊這裏。blog