VARCHART XGantt_v5.1用戶手冊(cè):如何創(chuàng)建直方圖(.NET版)下
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)版
在本教程中,我們將演示如何編寫直方圖,是VARCHART XGantt .NET版本的教程,主要分為8個(gè)步驟來描述,本篇文章是該教程的下半部分內(nèi)容(上部分內(nèi)容查看),內(nèi)容緊接上文從第七個(gè)步驟開始,跟著小編來看看吧~
步驟7:在此步驟中,將為直方圖創(chuàng)建四條曲線:容量曲線、未標(biāo)記活動(dòng)的曲線、標(biāo)記活動(dòng)的曲線和填充區(qū)域的輔助曲線。單擊屬性頁(yè)布局上的管理直方圖...以調(diào)用相應(yīng)的對(duì)話框。
甘特圖中可能同時(shí)存在多個(gè)直方圖。每個(gè)直方圖都有一個(gè)ist自己的數(shù)字刻度,并包含自己的曲線。
現(xiàn)在請(qǐng)定義數(shù)字刻度的起始值和結(jié)束值。單擊End value列的Histogram_1字段,然后輸入6。
現(xiàn)在,請(qǐng)編輯直方圖。為此,請(qǐng)單擊對(duì)話框頂部右側(cè)的“編輯”按鈕。
“曲線1”應(yīng)代表容量曲線(紅色)。 “曲線2”應(yīng)表示未標(biāo)記的節(jié)點(diǎn),而“曲線3”應(yīng)表示標(biāo)記的節(jié)點(diǎn)。 “曲線4”是一條輔助曲線,用于提供不足區(qū)域的綠色背景。一條曲線已經(jīng)存在。請(qǐng)創(chuàng)建另外三條曲線并根據(jù)插圖定義其屬性。
對(duì)于曲線,最多可以指定兩條參考曲線。曲線形成具有ist參考曲線的區(qū)域,可以為其分配顏色和圖案(請(qǐng)參見下面的草圖)。在第一條參考曲線中,在曲線上方和下方形成的所有零件都加到該區(qū)域(頂部草圖)。第二個(gè)參考曲線,只有那些部分添加到曲線下方形成的區(qū)域,即Y值小于原始曲線的值(底部草圖)。另外,由第二參考曲線形成的區(qū)域以更高的優(yōu)先級(jí)顯示。我們將在下面看到,直方圖會(huì)產(chǎn)生什么后果。
容量曲線(曲線1)將從列表中接收其值,我們稍后將通過編程代碼提供該列表。因此,請(qǐng)?jiān)谧侄?strong>Source中將其數(shù)據(jù)源設(shè)置為via API。因此,不需要為可以從中獲取數(shù)據(jù)的節(jié)點(diǎn)添加額外的過濾器。
請(qǐng)將線型設(shè)置為粗紅線。該曲線的值不應(yīng)加到另一條曲線的值上;因此,字段堆棧參考保持為空。此外,容量曲線并非旨在形成具有另一條曲線的區(qū)域,因此兩個(gè)填充參考及其填充圖案保持為空。請(qǐng)單擊對(duì)話框中的相應(yīng)字段,按照說明創(chuàng)建曲線1。
“曲線2”表示未選擇的節(jié)點(diǎn),并由名為“未選擇的節(jié)點(diǎn)”的層組成。不需要用于進(jìn)一步選擇的過濾器。請(qǐng)為曲線選擇藍(lán)線顏色。曲線值不會(huì)添加到另一條曲線的值,因此堆棧參考值保持為空。該曲線應(yīng)該與X軸形成一個(gè)區(qū)域,因此請(qǐng)?jiān)凇?strong>填充參考”字段中選擇值Flatline。
該曲線由非選定節(jié)點(diǎn)組成,還應(yīng)以特殊方式指示其超出容量曲線以標(biāo)記生產(chǎn)系統(tǒng)的瓶頸。因此,一旦其Y值超過曲線1的值,下面的區(qū)域應(yīng)畫上陰影線。因此,請(qǐng)將“曲線1”設(shè)置為其第二條參考曲線,然后選擇陰影填充圖案。
“曲線3”應(yīng)代表所選節(jié)點(diǎn)。因此,請(qǐng)將其命名為“Selected Nodes”的圖層作為其數(shù)據(jù)源。不需要過濾器。請(qǐng)指定淺灰色線條顏色。由于所選節(jié)點(diǎn)應(yīng)顯示在未選擇節(jié)點(diǎn)上方,因此必須將它們的值添加到非選定節(jié)點(diǎn)中。因此,請(qǐng)選擇曲線2作為堆棧參考。相同的曲線也用作第一參考曲線,因?yàn)樗x節(jié)點(diǎn)在視覺上應(yīng)與未選擇的節(jié)點(diǎn)不同。作為填充圖案,請(qǐng)?jiān)邳S色背景上選擇灰色交叉影線圖案。
形成的區(qū)域?qū)⒃谇€2的上方和下方可見。此外,它應(yīng)出現(xiàn)在容量曲線的上方;因此請(qǐng)將曲線1指定為第二條參考曲線,并用相同的顏色和圖案填充該區(qū)域。如果選定的節(jié)點(diǎn)超過容量曲線,它們將以與容量曲線下方相同的顏色和模式出現(xiàn)(您可以通過在此處指定例如紅色來區(qū)分容量曲線上方和下方的所選節(jié)點(diǎn))。
通過“曲線4”,我們將定義一個(gè)區(qū)域,表示容量曲線和下面的節(jié)點(diǎn)樁之間的淺綠色背景。它表示生產(chǎn)系統(tǒng)的可用資源。它的底部被未選擇的節(jié)點(diǎn)限制,因此請(qǐng)選擇它們作為數(shù)據(jù)源。在頂部,該區(qū)域受容量曲線的限制,您可以將其設(shè)置為第一個(gè)參考曲線。
問題:為什么曲線4的區(qū)域不會(huì)隱藏所選節(jié)點(diǎn)?答案:因?yàn)榇藢?duì)話框顯示的曲線列表中存在優(yōu)先級(jí)。底部列出的曲線的優(yōu)先級(jí)低于頂部列出的曲線。這就是為什么曲線3的區(qū)域顯示在曲線4的區(qū)域頂部的原因。您可以通過窗口頂部的右箭頭修改優(yōu)先級(jí)。
第8步:在最后一步中,我們將提供容量曲線的值。為此,請(qǐng)修改Load事件中的代碼,如下所示:
示例代碼VB.NET
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load VcGantt1.Width = ClientSize.Width - VcGantt1.Left VcGantt1.Height = ClientSize.Height - VcGantt1.Top VcGantt1.InsertNodeRecord("1;Node 1;07.05.2007;;5") VcGantt1.InsertNodeRecord("2;Node 2;09.05.2007;;5") VcGantt1.InsertNodeRecord("3;Node 3;10.05.2007;;6") VcGantt1.InsertNodeRecord("4;Node 4;17.05.2007;;10") VcGantt1.InsertNodeRecord("5;Node 5;22.05.2007;;3") VcGantt1.InsertNodeRecord("6;Node 6;23.05.2007;;1") VcGantt1.EndLoading() VcGantt1.OptimizeTimeScaleStartEnd(3) 'calculate end date Dim node As VcNode For Each node In VcGantt1.NodeCollection setNodeEndDate(node) Next Dim histogram As VcHistogram Dim curve As VcCurve histogram = VcGantt1.HistogramCollection.FirstHistogram curve = histogram.CurveCollection.CurveByName(" Curve1 ") curve.PointsEquidistant = False curve.SetValues("01.05.2007", "2") curve.SetValues("05.05.2007", "0") curve.SetValues("07.05.2007", "2") curve.SetValues("12.05.2007", "0") curve.SetValues("14.05.2007", "4") curve.SetValues("19.05.2007", "0") curve.SetValues("21.05.2007", "2") curve.SetValues("26.05.2007", "0") curve.SetValues("28.05.2007", "2") End Sub
示例代碼C#
private void Form1_Load(object sender, System.EventArgs e) { vcGantt1.Width = ClientSize.Width - vcGantt1.Left; vcGantt1.Height = ClientSize.Height - vcGantt1.Top; vcGantt1.InsertNodeRecord("1;Node 1;07.05.2007;;5"); vcGantt1.InsertNodeRecord("2;Node 2;09.05.2007;;5"); vcGantt1.InsertNodeRecord("3;Node 3;10.05.2007;;6"); vcGantt1.InsertNodeRecord("4;Node 4;17.05.2007;;10"); vcGantt1.InsertNodeRecord("5;Node 5;22.05.2007;;3"); vcGantt1.InsertNodeRecord("6;Node 6;23.05.2007;;1"); vcGantt1.EndLoading(); vcGantt1.OptimizeTimeScaleStartEnd(3); // calculate end date foreach (VcNode node in vcGantt1.NodeCollection) { SetNodeEndDate(node); } VcHistogram histogram = vcGantt1.HistogramCollection.FirstHistogram(); VcCurve curve = histogram.CurveCollection.CurveByName("Curve 1"); curve.PointsEquidistant = false; curve.SetValues(Convert.ToDateTime("01.05.2007"),"2"); curve.SetValues(Convert.ToDateTime("05.05.2007"),"0"); curve.SetValues(Convert.ToDateTime("07.05.2007"),"2"); curve.SetValues(Convert.ToDateTime("12.05.2007"),"0"); curve.SetValues(Convert.ToDateTime("14.05.2007"),"4"); curve.SetValues(Convert.ToDateTime("19.05.2007"),"0"); curve.SetValues(Convert.ToDateTime("21.05.2007"),"2"); curve.SetValues(Convert.ToDateTime("26.05.2007"),"0"); curve.SetValues(Convert.ToDateTime("28.05.2007"),"2"); }
現(xiàn)在,請(qǐng)運(yùn)行該程序并標(biāo)記一項(xiàng)活動(dòng)。您可以通過直方圖中黃色背景上的灰色陰影部分立即識(shí)別,活動(dòng)在顯示的大部分工作負(fù)荷中占據(jù)哪個(gè)部分。
如果移動(dòng)活動(dòng),工作負(fù)載將發(fā)生變化,您可以識(shí)別由交互引起的容量過載和不足。
直方圖中的日歷網(wǎng)格
您可以將一個(gè)或多個(gè)日歷網(wǎng)格分配給直方圖,以便甘特圖中的不同日歷網(wǎng)格也可以在直方圖中顯示。
要將自己的日歷網(wǎng)格分配給直方圖,必須滿足三個(gè)條件:
1、必須為直方圖分配日歷
2、必須打開日歷網(wǎng)格
3、必須定義一個(gè)外觀,以顯示日歷網(wǎng)格
已分配日歷,日歷網(wǎng)格已打開
相應(yīng)的API調(diào)用是:
示例代碼VB.NET
// assigning the calendar to the histogram (by the calendar name) histogram.calendarName = group.DataField(14) // switching the calendar grid on histogram.ShowCalendarGrids = True // setting the histogram visible histogram.Visible = True
作為直方圖的日歷網(wǎng)格,VARCHART XGantt在時(shí)間刻度的第一部分中采用第一個(gè)不可見的日歷網(wǎng)格,如果沒有其他的存在。這是在甘特圖中以分組方式使用的相同日歷網(wǎng)格:
因此,日歷網(wǎng)格將在甘特圖中顯示與直方圖中相同的外觀。在下面的示例中,它是一個(gè)日歷網(wǎng)格,顯示每個(gè)組的不同模式(分組日歷網(wǎng)格):
如果您將另一個(gè)日歷網(wǎng)格設(shè)置為時(shí)間刻度部分,VARCHART XGantt將使用此日歷網(wǎng)格作為其直方圖:
通過使用第二個(gè)日歷網(wǎng)格,您可以指定與甘特圖中的日歷網(wǎng)格相比的不同外觀。在我們的例子中,它顯示了不同的顏色:
本教程內(nèi)容已完結(jié),相關(guān)內(nèi)容請(qǐng)點(diǎn)擊下面的文章查看~
相關(guān)文章:
VARCHART XGantt_v5.1用戶手冊(cè):如何創(chuàng)建直方圖(.NET版)上
VARCHART XGantt_v5.1用戶手冊(cè):如何創(chuàng)建直方圖(ActiveX版)(上)
VARCHART XGantt_v5.1用戶手冊(cè):如何創(chuàng)建直方圖(ActiveX版)(下)
VARCHART XGantt_v5.1用戶手冊(cè):如何使用過濾器(.NET版)
VARCHART XGantt_v5.1用戶手冊(cè):如何使用過濾器(ActiveX版)
想要購(gòu)買VARCHART XGantt正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”
掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊