VARCHART XGantt_v5.1用戶手冊:如何創建直方圖(ActiveX版)(上)
VARCHART XGantt,用于工業4.0項目管理、交互式的甘特圖絕佳解決方案,世界級甘特圖大師。它是一個交互式的甘特圖控件,其模塊化的設計讓您可以創建滿足您和您的客戶所需求的應用程序。(我們領先的甘特圖控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET應用程序。)
在此示例中,您將熟悉直方圖。我們將演示如何定義可用性曲線,如何從活動創建容量曲線以及如何在工作負載內可視化標記的活動部分。
在上面的示例中,活動按單個單元的數量占用資源。在活動重疊的地方,占用單位加起來等于所占總容量。
在接下來的步驟中,我們將通過上述功能完成我們前面的示例。為了更好地說明直方圖的功能,我們使用了不同的記錄和無限鏈接。 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
此外,我們從上面的示例中刪除了過濾器(“里程碑”,“活動”)和附加層(“里程碑”)。完整的程序可以在UserGuideSamples \ VB6 \ XGantt_Tutorial02目錄中找到。
首先,通過選擇單選按鈕甘特圖和直方圖,需要在圖表區域部分的屬性頁面布局上顯示直方圖。
標記的節點應顯示交叉影線圖案。因此,在屬性頁的節點部分,節點的標記類型將圖表中的字段設置為無標記。
稍后將在我們的示例中再次需要一個數據字段,我們現在將創建該數據字段。在“編輯數據表”對話框中,請創建一個Integer類型的字段并將其命名為Selected。該字段將使活動的顯示取決于ist標記狀態。
每次觸發事件OnNodesMarkComplete時,都需要更新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事件中,以下代碼將防止新創建的節點在出現時被標記。由于在創建新節點時,先前選擇的所有節點都將未標記,因此必須更新“Selected”字段的內容。
示例代碼
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
接下來,我們將定義區分標記和未標記活動的過濾器。請單擊按鈕Filter ...在屬性頁面對象上獲取對話框“管理過濾器”。請通過單擊創建兩個新過濾器,并將其中一個命名為NotSelected,另一個命名為Marked。
要過濾NotSelected,請設置條件選擇不等于1。
對于過濾器Selected,請將條件選擇設置為1:
現在,活動的外觀應與過濾器相關聯。請單擊屬性頁面對象上的“圖層”按鈕,轉到“指定欄外觀”對話框。將圖層Start-End重命名為Unmarked Nodes,并將過濾器NotSelected指定給它。通過單擊復制圖層并命名復制標記節點。將選定過濾器分配給圖層。
兩層看起來仍然相似。在對話框編輯圖層中,通過選擇圖案交叉影線和背景顏色黃色來修改圖層SelectedNodes的設計。
注意:在屬性頁面節點上,應勾選“顯示非工作間隔”,以確保在非工作間隔(例如,在周末)將顯示一行而不是一條欄。
本教程內容尚未結束,后續內容請看下面~
金喜正規買球相關的文章:
VARCHART XGantt_v5.1用戶手冊:如何創建直方圖(ActiveX版)(下)
VARCHART XGantt_v5.1用戶手冊:如何使用過濾器(.NET版)
VARCHART XGantt_v5.1用戶手冊:如何使用過濾器(ActiveX版)
VARCHART XGantt_v5.1用戶手冊:如何使用圖層
想要購買VARCHART XGantt正版授權,或了解更多產品信息請點擊
掃描關注慧聚IT微信公眾號,及時獲取最新動態及最新資訊