翻譯|使用教程|編輯:楊鵬連|2021-02-19 09:44:08.450|閱讀 613 次
概述:在本文中,您將學(xué)習(xí)如何在dhtmlxGantt網(wǎng)格中對任務(wù)進(jìn)行排序和重新排序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
dhtmlxGantt是用于跨瀏覽器和跨平臺應(yīng)用程序的功能齊全的Gantt圖表。可滿足項目管理應(yīng)用程序的所有需求,是最完善的甘特圖圖表庫。它允許你創(chuàng)建動態(tài)甘特圖,并以一個方便的圖形化方式可視化項目進(jìn)度。有了dhtmlxGantt,你可以顯示活動之間的依賴關(guān)系,顯示具有完成百分比陰影的當(dāng)前任務(wù)狀態(tài)以及組織活動到樹結(jié)構(gòu)。
重新排序任務(wù)
dhtmlxGantt提供了兩種在網(wǎng)格中對任務(wù)進(jìn)行重新排序的方法:
要啟用拖放重排序,請使用order_branch選項:
gantt.config.order_branch = true; gantt.init("gantt_here");您可以看一下視頻指南,該指南顯示了如何在網(wǎng)格中對任務(wù)進(jìn)行排序和重新排序。
在整個甘特結(jié)構(gòu)中拖放
該order_branch選項允許同一樹級別中拖動任務(wù)。
也可以啟用可以在整個甘特圖中重新排序任務(wù)的模式。這意味著一個任務(wù)可以替換任何樹級別的另一個任務(wù)。要使用這種類型的任務(wù)重新排序,請使用order_branch_free選項:
// reordering tasks within the whole gantt gantt.config.order_branch = true; gantt.config.order_branch_free = true; gantt.init("gantt_here");拒絕掉到特定位置
要拒絕將任務(wù)放到特定位置,請使用onBeforeTaskMove或onBeforeRowDragEnd事件:
//prevent moving to another sub-branch: gantt.attachEvent("onBeforeTaskMove", function(id, parent, tindex){ var task = gantt.getTask(id); if(task.parent != parent) return false; return true; }); //or gantt.attachEvent("onBeforeRowDragEnd", function(id, parent, tindex){ var task = gantt.getTask(id); if(task.parent != parent) return false; return true; });改善大型數(shù)據(jù)集的性能
如果您的甘特圖中包含很多任務(wù),則分支重排序的默認(rèn)模式可能會降低性能。為了加快速度,您可以使用“標(biāo)記”模式。
gantt.config.order_branch = "marker";在此模式下,僅將任務(wù)名稱重新排序(按住鼠標(biāo)左鍵),并且僅當(dāng)將任務(wù)放在目標(biāo)位置時(釋放鍵)才重新渲染甘特圖。與默認(rèn)模式不同,更改任務(wù)位置不涉及觸發(fā)onBeforeTaskMove / onAfterTaskMove事件。
為防止任務(wù)掉落到特定位置,請改用onBeforeRowDragMove事件(僅在“標(biāo)記”模式下有效)。
拖放時突出顯示可用放置位置
要在拖動過程中突出顯示可用的目標(biāo)位置(例如,不可能將根節(jié)點拖動到另一個根目錄下,并且您想在視覺上通知用戶此信息),請使用onRowDragStart和onRowDragEnd事件:
gantt.config.order_branch = true;// order tasks only inside a branch gantt.init("gantt_here"); gantt.parse(demo_tasks); var drag_id = null; gantt.attachEvent("onRowDragStart", function(id, target, e) { drag_id = id; return true; }); gantt.attachEvent("onRowDragEnd", function(id, target) { drag_id = null; gantt.render(); }); gantt.templates.grid_row_class = function(start, end, task){ if(drag_id && task.id != drag_id){ if(task.$level != gantt.getTask(drag_id).$level) return "cant-drop"; } return ""; };
關(guān)產(chǎn)品推薦:
VARCHART XGantt:支持ActiveX、.Net等平臺的C#甘特圖控件
AnyGantt:構(gòu)建復(fù)雜且內(nèi)容豐富的甘特圖的理想工具
jQuery Gantt Package:基于HTML5 / jQuery的跨平臺jQuery Gantt包
phGantt Time Package:對任務(wù)和時間的分配管理的甘特圖
APS幫助提升企業(yè)生產(chǎn)效率,真正實現(xiàn)生產(chǎn)計劃可視化呈現(xiàn)與控制,快速有效響應(yīng)不同場景的生產(chǎn)計劃,提高準(zhǔn)時交貨能力,提高產(chǎn)能和資源利用率
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: