翻譯|行業(yè)資訊|編輯:楊鵬連|2021-01-25 09:57:58.840|閱讀 246 次
概述:。在此博客文章中,我們將深入了解如何在HTML5甘特圖的可視計(jì)劃小部件(VSW)中使用日歷對(duì)象來(lái)可視化工作時(shí)間和非工作時(shí)間,并將討論如何指定和應(yīng)用它們。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
VARCHART XGantt是一款功能強(qiáng)大的甘特圖控件,其模塊化的設(shè)計(jì)讓您可以創(chuàng)建滿足需要的應(yīng)用程序。XGantt可用于.NET,ActiveX和ASP.NET應(yīng)用程序,可以快速、簡(jiǎn)單地集成到您的應(yīng)用程序中,幫助您識(shí)別性能瓶頸、避免延遲以及高效利用資源,使復(fù)雜數(shù)據(jù)變得更加容易理解。
VARCHART XGantt在市場(chǎng)上已有近30年的歷史,它提供了最完善的C#Gantt圖表控件,可用于構(gòu)建現(xiàn)代而又可靠的行業(yè)資源調(diào)度應(yīng)用程序。
對(duì)于每個(gè)計(jì)劃者來(lái)說(shuō),知道什么時(shí)候可用的資源是必不可少的信息。因此,在甘特圖中,工作時(shí)間和非工作時(shí)間的智能可視化是每個(gè)資源計(jì)劃和調(diào)度應(yīng)用程序中的“必備條件”。在此博客文章中,我們將深入了解如何在HTML5甘特圖的可視計(jì)劃小部件(VSW)中使用日歷對(duì)象來(lái)可視化工作時(shí)間和非工作時(shí)間,并將討論如何指定和應(yīng)用它們。我們還提供了許多技巧和竅門(mén),以實(shí)現(xiàn)最佳的用戶互動(dòng),
視覺(jué)計(jì)劃小部件日歷對(duì)象的基礎(chǔ)
可視計(jì)劃窗口小部件中的日歷用于定義資源的一般可用性,而無(wú)需考慮特定容量。每個(gè)日歷對(duì)象都有一組日歷條目,這些日歷條目確定在開(kāi)始日期和結(jié)束日期指定的時(shí)間段內(nèi)它是工作時(shí)間還是非工作時(shí)間。
這是日歷的簡(jiǎn)單定義,其中定義了兩個(gè)帶工作時(shí)間的時(shí)段(1月4日上午6點(diǎn)至中午12點(diǎn)以及下午2點(diǎn)至下午6點(diǎn)):
widget.addCalendars([ { ID: 'Calendar1', Entries: [ { Start: new Date('2021-01-04T06:00:00'), End: new Date('2021-01-04T12:00:00') }, { Start: new Date('2021-01-04T14:00:00'), End: new Date('2021-01-04T18:00:00') } ] } ]);日歷對(duì)象的默認(rèn)時(shí)間類(lèi)型為“非工作時(shí)間”,條目為“工作時(shí)間”。定義條目時(shí),您可以另外指定它們的時(shí)間類(lèi)型。作為上述示例的替代方法,您還可以安排以下相同情況:
widget.addCalendars([ { ID: 'Calendar1', Entries: [ { Start: new Date('2021-01-04T06:00:00'), End: new Date('2021-01-04T18:00:00'), TimeType: netronic.nVSW.TimeType.WorkingTime }, { Start: new Date('2021-01-04T12:00:00'), End: new Date('2021-01-04T14:00:00'), TimeType: netronic.nVSW.TimeType.NonWorkingTime } ] } ]);關(guān)于此博客文章中使用的日期字符串格式的注釋:為了使您更輕松地重現(xiàn)示例并獲得與此處所示相同的圖表,我們使用本地日期字符串格式。但是對(duì)于您的應(yīng)用程序,我們建議使用簡(jiǎn)化的ISO 8601標(biāo)準(zhǔn)(請(qǐng)參閱//www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15)來(lái)明確定義日期。因此,例如,與其說(shuō)是“ 2021-01-04T06:00:00”,不如說(shuō)是“ 2021-01-04T06:00:00 Z ”。
甘特圖中日歷可視化的起點(diǎn)
只要不應(yīng)用日歷,Visual Scheduling Widget的甘特圖就只能在非工作時(shí)間工作。這是出于安全考慮,因?yàn)樗鼤?huì)迫使您定義和應(yīng)用適當(dāng)?shù)娜諝v對(duì)象。
不使用日歷,甘特圖可能如下所示:
在這里,您可以在圖區(qū)域中看到帶有淺灰色背景的資源視圖。此灰色表示不工作時(shí)間。現(xiàn)在,我們可以使用“ defaultCalendarID”選項(xiàng)將日歷分配給可視化計(jì)劃小部件。
widget.option("defaultCalendarID", "Calendar1");
如下圖所示,灰色的背景現(xiàn)在被兩個(gè)白色的條紋打斷了,它們指示工作時(shí)間:
為了獲得充分的靈活性,每個(gè)資源當(dāng)然可以分配自己的日歷。因此,您可以定義另一個(gè)日歷并將其分配給資源。此新日歷將覆蓋默認(rèn)日歷的設(shè)置:
widget.addCalendars([ { ID: 'Calendar2', Entries: [ { Start: new Date('2021-01-04T04:00:00'), End: new Date('2021-01-04T20:00:00') } ] } ]); widget.updateResources([ { "ID": "R2", "TableText": "Resource 2", "PM_TableColor": "lightblue", "CalendarID": "Calendar2" } ]);這導(dǎo)致我們得到一個(gè)圖表,其中資源2的日歷網(wǎng)格與其他資源的日歷網(wǎng)格不同:
可視化的最佳實(shí)踐
除了給圖表背景著色之外,日歷對(duì)甘特圖還有其他影響:首先,日歷信息可用于指示條形圖中的非工作時(shí)間。您可以讓窗口小部件根據(jù)常規(guī)條形顏色自動(dòng)計(jì)算這些時(shí)間的顏色,或者可以顯式指定您選擇的顏色。
例如,讓我們看一下資源分配:
widget.addAllocations([ { "ID": "All1", "ResourceID": R1 "BarText": "Allocation", "PM_Color": "steelblue" } ]);
添加分配屬性 "PM_NonworkingTimeColor": "calculated":
或者設(shè)置屬性 "PM_NonworkingTimeColor": "tomato"
使用日歷的另一個(gè)有趣方面是可以通過(guò)將窗口小部件選項(xiàng)“ nonWorkingTimeVisible”設(shè)置為false來(lái)可視地折疊非工作時(shí)間。這是減少顯示器在水平方向上占用空間的寶貴功能。這樣,您可以一目了然地概覽更長(zhǎng)的時(shí)間,如以下比較所示。上圖顯示了一個(gè)圖表,其中所有非工作時(shí)間可見(jiàn),而下圖則折疊了所有資源的所有非工作時(shí)間。在時(shí)間刻度內(nèi),缺失時(shí)間用雙線表示(請(qǐng)參見(jiàn)放大的摘錄)。
注意:如果資源沒(méi)有共享相同的非工作時(shí)間,事情會(huì)變得更加復(fù)雜。只有那些所有資源共有的非工作時(shí)間才能崩潰。在以下示例中,資源2的日歷可防止所有非工作時(shí)間都消失。為了清楚起見(jiàn),可折疊時(shí)間以紅色陰影顯示:
用戶互動(dòng)的最佳做法
日歷的另一個(gè)影響是,當(dāng)用戶移動(dòng)條時(shí),日歷信息受到尊重。在這種情況下,在交互過(guò)程中顯示的幻像條會(huì)變長(zhǎng)或變短,具體取決于該條是否經(jīng)過(guò)了非工作時(shí)間。
如果使用捕捉目標(biāo),也會(huì)對(duì)用戶交互產(chǎn)生影響(請(qǐng)參閱活動(dòng)和分配屬性“ PM_SnapTargetsForStart”和“ PM_SnapTargetsForEnd”)。在這種情況下,日歷網(wǎng)格可用作目標(biāo)。例如,這使用戶可以輕松地將鋼筋的起點(diǎn)準(zhǔn)確地交互式地定位在工作周期的起點(diǎn)。
觀看有關(guān)工作時(shí)間和非工作時(shí)間的視頻
活動(dòng)視圖
在活動(dòng)視圖中,日歷的處理方式與資源視圖相比有所不同(請(qǐng)?jiān)诖颂幵敿?xì)了解這兩種不同的視圖)。在默認(rèn)情況下,此處不顯示日歷網(wǎng)格。要在此視圖中顯示任何日歷網(wǎng)格,您必須將小部件選項(xiàng)“ pm_activityCalendarsEnabled”設(shè)置為true。然后,您將看到默認(rèn)日歷以及分配給各個(gè)活動(dòng)的日歷。
日歷和期間熒光筆之間的區(qū)別
最后,讓我說(shuō)幾句有關(guān)熒光筆和日歷的區(qū)別。與日歷不同,時(shí)段熒光筆只是一個(gè)圖形元素,可讓您直觀地突出顯示某個(gè)時(shí)段。它對(duì)用戶交互完全沒(méi)有影響,并且在任何計(jì)算過(guò)程中都沒(méi)有考慮。
與Visual Scheduling Widget的所有對(duì)象類(lèi)型一樣,您可以簡(jiǎn)單地通過(guò)使用相應(yīng)的add方法來(lái)添加周期熒光筆對(duì)象:
widget.addPeriodHighlighters([ { ID: 'PH1', Entries: [ { Start: new Date('2021-01-04T05:00:00'), End: new Date('2021-01-04T08:00:00'), Color: 'pink', Caption: 'Maintenance', CaptionColor: 'black' } ] } ]);現(xiàn)在,您可以使用屬性“ PM_PeriodHighlighterID”將熒光筆分配給資源(甚至是活動(dòng)):
APS幫助提升企業(yè)生產(chǎn)效率,真正實(shí)現(xiàn)生產(chǎn)計(jì)劃可視化呈現(xiàn)與控制,快速有效響應(yīng)不同場(chǎng)景的生產(chǎn)計(jì)劃,提高準(zhǔn)時(shí)交貨能力,提高產(chǎn)能和資源利用率
想要了解甘特圖或慧都APS系統(tǒng),請(qǐng)登錄慧都網(wǎng),解決您的問(wèn)題!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: