翻譯|使用教程|編輯:黃竹雯|2019-01-31 15:36:11.000|閱讀 332 次
概述:本文主要介紹在VARCHART XGantt的分組視圖中如何更好的顯示節(jié)點(diǎn)
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
VARCHART XGantt是一款功能強(qiáng)大的甘特圖控件,其模塊化的設(shè)計(jì)讓您可以創(chuàng)建滿足需要的應(yīng)用程序。XGantt可用于.NET,ActiveX和ASP.NET應(yīng)用程序,可以快速、簡單地集成到您的應(yīng)用程序中,幫助您識(shí)別性能瓶頸、避免延遲以及高效利用資源,使復(fù)雜數(shù)據(jù)變得更加容易理解。
本文主要介紹如何在分組視圖中更好地顯示節(jié)點(diǎn),有任何建議或提示請(qǐng)?jiān)谙路皆u(píng)論區(qū)留言。
在甘特圖中活動(dòng)通常以組的形式展現(xiàn),比如machine Gantt代表機(jī)器負(fù)載可視化,它區(qū)分機(jī)器組和各自的機(jī)器,這被稱為雙階段分組。甘特圖的分組可以用來表示擴(kuò)張或者收縮,這取決于你想從哪個(gè)角度查看詳細(xì)數(shù)據(jù)。
有一個(gè)傳統(tǒng)甘特圖控制所面臨的問題:那就是通常節(jié)點(diǎn)只在一個(gè)組級(jí)別中顯示。那么如何在甘特圖組中顯示節(jié)點(diǎn)?是在頂部折疊或是在底部展開?在下文中將詳細(xì)介紹如何在組級(jí)別上可視化節(jié)點(diǎn),以及基于節(jié)點(diǎn)的單個(gè)組的排列如何增強(qiáng)甘特圖的信息價(jià)值。
VARCHART XGantt是一款非常靈活的.Net甘特控制工具,僅通過少量的編程就可以針對(duì)面向時(shí)間的規(guī)劃數(shù)據(jù)進(jìn)行幾乎所有可視化需求定制。
當(dāng)特定機(jī)器的甘特圖啟動(dòng)時(shí)如果顯示崩潰,下面的示例將顯示機(jī)器組,而單個(gè)機(jī)器最初并沒有顯示,并且所有節(jié)點(diǎn)都顯示在頂層。
當(dāng)展開機(jī)器組后,可以看到第二層單獨(dú)的機(jī)器。現(xiàn)在我們直觀的將節(jié)點(diǎn)從機(jī)器組移動(dòng)到機(jī)器上(只需撤銷移動(dòng),節(jié)點(diǎn)就會(huì)再次出現(xiàn)在第一層)。
為了將節(jié)點(diǎn)排列在第一層和第二層,我們同時(shí)選擇了VARCHART XGantt模式all nodes in one row和nodes optimized選項(xiàng)。這樣就可以實(shí)現(xiàn):
由于我們希望為planner提供盡可能詳細(xì)的視圖選項(xiàng),所以我們將all nodes in one row更改為nodes in separate rows,方法是為第二個(gè)分組級(jí)別勾選相應(yīng)的復(fù)選框。
在展開機(jī)器視圖時(shí),每個(gè)節(jié)點(diǎn)將被清晰地安排在它自己的一行中,這樣規(guī)劃人員就可以識(shí)別出活動(dòng)的確切時(shí)間。此外活動(dòng)是按開始日期排序的,因此計(jì)劃人員可以很容易地立即找到下一個(gè)計(jì)劃的活動(dòng)
本例中不使用擴(kuò)展數(shù)據(jù)表,在傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)中,組是根據(jù)節(jié)點(diǎn)的分組標(biāo)準(zhǔn)自動(dòng)創(chuàng)建的。VARCHART XGantt屬性頁上的設(shè)置如下:
如果第二個(gè)分組字段為空,例如空字符串,則VARCHART XGantt將各個(gè)節(jié)點(diǎn)排序到下一個(gè)最高級(jí)別的組中。不要簡單地將第二層的分組名稱替換為空字符串,因?yàn)檫@樣肯定會(huì)刪除該值,并且無法再分配該值。這就是為什么我們需要在需要時(shí)將空字符串或第二層的分組名稱復(fù)制到其中的虛擬數(shù)據(jù)字段(最初虛擬數(shù)據(jù)字段將保持為空)。
接下來如果尚未指定,我們將在設(shè)置中為這兩個(gè)分組級(jí)別中的每一個(gè)創(chuàng)建GroupLevelLayout:
現(xiàn)在需要導(dǎo)出VARCHART XGantt配置文件,使用文本編輯器進(jìn)行編輯,然后再次導(dǎo)入。導(dǎo)出的INI文件會(huì)為每個(gè)分組級(jí)別顯示CreateGroupForEmptyEntry關(guān)鍵字,為了簡化問題,對(duì)于所有現(xiàn)有分組級(jí)別,這個(gè)關(guān)鍵字設(shè)置必須從YES改為NO。并且不要忘記為以后添加的所有分組級(jí)別再次設(shè)置此鍵。
我們需要檢查哪個(gè)分組級(jí)別觸發(fā)了修改后的事件,參考以下代碼:
private void vcGantt1_VcGroupModified(object sender, VcGroupModifiedEventArgs e) { vcGantt1.SuspendUpdate(true); if (e.Group.GroupingLevel == 0) { if (e.Group.Collapsed) { foreach (VcNode node in e.Group.NodeCollection) { node.set_DataField(DT.Maindata_GroupLvl2FieldIndex, ""); node.Update(); e.Group.NodesOptimized = true; e.Group.Update(); } } else { foreach (VcNode node in e.Group.NodeCollection) { node.set_DataField(DT.Maindata_GroupLvl2FieldIndex, node.get_DataField(DT.Maindata_GroupLvl2DummyFieldIndex)); node.Update(); } } } if (e.Group.GroupingLevel == 1) { if (e.Group.Collapsed) { e.Group.NodesArrangedInOneRow = true; e.Group.NodesOptimized = true; e.Group.Update(); } else { e.Group.NodesArrangedInOneRow = false; e.Group.Update(); } } vcGantt1.SuspendUpdate(false); }
更多VARCHART XGantt實(shí)用教程敬請(qǐng)關(guān)注!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn