VARCHART XGantt_v5.1用戶手冊:如何創(chuàng)建直方圖(ActiveX版)(上)
VARCHART XGantt,用于工業(yè)4.0項(xiàng)目管理、交互式的甘特圖絕佳解決方案,世界級(jí)甘特圖大師。它是一個(gè)交互式的甘特圖控件,其模塊化的設(shè)計(jì)讓您可以創(chuàng)建滿足您和您的客戶所需求的應(yīng)用程序。(我們領(lǐng)先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應(yīng)用程序。)
點(diǎn)擊下載VARCHART XGantt免費(fèi)版
在此示例中,您將熟悉直方圖。我們將演示如何定義可用性曲線,如何從活動(dòng)創(chuàng)建容量曲線以及如何在工作負(fù)載內(nèi)可視化標(biāo)記的活動(dòng)部分。
在上面的示例中,活動(dòng)按單個(gè)單元的數(shù)量占用資源。在活動(dòng)重疊的地方,占用單位加起來等于所占總?cè)萘俊?/p>
在接下來的步驟中,我們將通過上述功能完成我們前面的示例。為了更好地說明直方圖的功能,我們使用了不同的記錄和無限鏈接。 Form1_Load示例已修改,如下所示:
示例代碼
Private Sub Form_Load() VcGantt1.Width = ScaleWidth - VcGantt1.Left VcGantt1.Height = ScaleHeight - VcGantt1.Top VcGantt1.InsertNodeRecord ("1;Node 1;07.05.07;;5") VcGantt1.InsertNodeRecord ("2;Node 2;09.05.07;;5") VcGantt1.InsertNodeRecord ("3;Node 3;10.05.07;;6") VcGantt1.InsertNodeRecord ("4;Node 4;17.05.07;;10") VcGantt1.InsertNodeRecord ("5;Node 5;22.05.07;;3") VcGantt1.InsertNodeRecord ("6;Node 6;23.05.07;;1") VcGantt1.EndLoading VcGantt1.OptimizeTimeScaleStartEnd (3) 'Calculating the end date of all nodes Dim node As VcNode VcGantt.SuspendUpdate True For Each node In VcGantt1.NodeCollection SetNodeEndDate node Next VcGantt.SuspendUpdate False End Sub
此外,我們從上面的示例中刪除了過濾器(“里程碑”,“活動(dòng)”)和附加層(“里程碑”)。完整的程序可以在UserGuideSamples \ VB6 \ XGantt_Tutorial02目錄中找到。
首先,通過選擇單選按鈕甘特圖和直方圖,需要在圖表區(qū)域部分的屬性頁面布局上顯示直方圖。
標(biāo)記的節(jié)點(diǎn)應(yīng)顯示交叉影線圖案。因此,在屬性頁的節(jié)點(diǎn)部分,節(jié)點(diǎn)的標(biāo)記類型將圖表中的字段設(shè)置為無標(biāo)記。
稍后將在我們的示例中再次需要一個(gè)數(shù)據(jù)字段,我們現(xiàn)在將創(chuàng)建該數(shù)據(jù)字段。在“編輯數(shù)據(jù)表”對(duì)話框中,請(qǐng)創(chuàng)建一個(gè)Integer類型的字段并將其命名為Selected。該字段將使活動(dòng)的顯示取決于ist標(biāo)記狀態(tài)。
每次觸發(fā)事件OnNodesMarkComplete時(shí),都需要更新Selected字段的值。
示例代碼
Private Sub VcGantt1_OnNodesMarkComplete() Dim node As VcNode For Each node In VcGantt1.NodeCollection If node.MarkNode = True Then node.DataField(5) = 1 Else node.DataField(5) = 0 End If node.UpdateNode Next End Sub
在OnNodeCreateCompleteEx事件中,以下代碼將防止新創(chuàng)建的節(jié)點(diǎn)在出現(xiàn)時(shí)被標(biāo)記。由于在創(chuàng)建新節(jié)點(diǎn)時(shí),先前選擇的所有節(jié)點(diǎn)都將未標(biāo)記,因此必須更新“Selected”字段的內(nèi)容。
示例代碼
Private Sub VcGantt1_OnNodeCreateCompleteEx _ (ByVal node As VcGanttLib.VcNode,_ ByVal creationType As VcGanttLib.CreationTypeEnum,_ ByVal isLastNodeInSeries As Boolean) node.DataField(1) = "Node " + node.DataField(0) node.MarkNode = False node.UpdateNode Dim node As VcNode For Each node In VcGantt1.NodeCollection node.DataField(5) = 0 node.UpdateNode Next End Sub
接下來,我們將定義區(qū)分標(biāo)記和未標(biāo)記活動(dòng)的過濾器。請(qǐng)單擊按鈕Filter ...在屬性頁面對(duì)象上獲取對(duì)話框“管理過濾器”。請(qǐng)通過單擊創(chuàng)建兩個(gè)新過濾器,并將其中一個(gè)命名為NotSelected,另一個(gè)命名為Marked。
要過濾NotSelected,請(qǐng)?jiān)O(shè)置條件選擇不等于1。
對(duì)于過濾器Selected,請(qǐng)將條件選擇設(shè)置為1:
現(xiàn)在,活動(dòng)的外觀應(yīng)與過濾器相關(guān)聯(lián)。請(qǐng)單擊屬性頁面對(duì)象上的“圖層”按鈕,轉(zhuǎn)到“指定欄外觀”對(duì)話框。將圖層Start-End重命名為Unmarked Nodes,并將過濾器NotSelected指定給它。通過單擊復(fù)制圖層并命名復(fù)制標(biāo)記節(jié)點(diǎn)。將選定過濾器分配給圖層。
兩層看起來仍然相似。在對(duì)話框編輯圖層中,通過選擇圖案交叉影線和背景顏色黃色來修改圖層SelectedNodes的設(shè)計(jì)。
注意:在屬性頁面節(jié)點(diǎn)上,應(yīng)勾選“顯示非工作間隔”,以確保在非工作間隔(例如,在周末)將顯示一行而不是一條欄。
本教程內(nèi)容尚未結(jié)束,后續(xù)內(nèi)容請(qǐng)看下面~
相關(guān)文章:
VARCHART XGantt_v5.1用戶手冊:如何創(chuàng)建直方圖(ActiveX版)(下)
VARCHART XGantt_v5.1用戶手冊:如何使用過濾器(.NET版)
VARCHART XGantt_v5.1用戶手冊:如何使用過濾器(ActiveX版)
VARCHART XGantt_v5.1用戶手冊:如何使用圖層
想要購買VARCHART XGantt正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢在線客服”
掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊