如何在dhtmlxGantt網格中對任務進行排序和重新排序
是用於跨瀏覽器和跨平臺應用程式的功能齊全的Gantt圖表。可滿足專案管理應用程式的所有需求,是最完善的甘特圖圖表庫。它允許你建立動態甘特圖,並以一個方便的圖形化方式視覺化專案進度。有了dhtmlxGantt,你可以顯示活動之間的依賴關係,顯示具有完成百分比陰影的當前任務狀態以及組織活動到樹結構。
重新排序任務
dhtmlxGantt提供了兩種在網格中對任務進行重新排序的方法:
- 拖放
- 排序
這些方法是替代的。預設情況下,兩種模式都是禁用的。
要啟用拖放重排序,請使用order_branch選項:
gantt.config.order_branch = true; gantt.init("gantt_here");
您可以看一下影片指南,該指南顯示瞭如何在網格中對任務進行排序和重新排序。
在整個甘特結構中拖放
該order_branch選項允許同一樹級別中拖動任務。
也可以啟用可以在整個甘特圖中重新排序任務的模式。這意味著一個任務可以替換任何樹級別的另一個任務。要使用這種型別的任務重新排序,請使用order_branch_free選項:
// reordering tasks within the whole gantt gantt.config.order_branch = true; gantt.config.order_branch_free = true; gantt.init("gantt_here");
拒絕掉到特定位置
要拒絕將任務放到特定位置,請使用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; });
改善大型資料集的效能
如果您的甘特圖中包含很多工,則分支重排序的預設模式可能會降低效能。為了加快速度,您可以使用“標記”模式。
gantt.config.order_branch = "marker";
在此模式下,僅將任務名稱重新排序(按住滑鼠左鍵),並且僅當將任務放在目標位置時(釋放鍵)才重新渲染甘特圖。與預設模式不同,更改任務位置不涉及觸發onBeforeTaskMove / onAfterTaskMove事件。
為防止任務掉落到特定位置,請改用onBeforeRowDragMove事件(僅在“標記”模式下有效)。
拖放時突出顯示可用放置位置
要在拖動過程中突出顯示可用的目標位置(例如,不可能將根節點拖動到另一個根目錄下,並且您想在視覺上通知使用者此資訊),請使用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 ""; };
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995027/viewspace-2757955/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dhtmlxGantt如何重新排序任務教程HTML排序
- 如何在Python中對dicts列表進行排序Python排序
- dhtmlxGantt如何對任務進行分組使用教程HTML
- 對字典進行排序排序
- Python對字典進行排序Python排序
- python 對字典的值進行排序Python排序
- 重新排序排序
- 多維陣列按鍵名進行重新排序陣列排序
- 如何在File Cabinet Pro中對檔案排序?排序
- 如何在File Cabinet Pro中對檔案排序排序
- 一個命令對文字進行高效排序排序
- ORDER對查詢結果進行排序排序
- [鐵柱分享]第五期:如何在 Laravel Eloquent 中對 all() 的結果進行排序?Laravel排序
- 使用Collections對list的內容進行排序排序
- C# 中使用Linq和Lambda表示式對List進行排序C#排序
- 直播app開發,對字串中字元進行自然順序排序APP字串字元排序
- 用xgboost模型對特徵重要性進行排序模型特徵排序
- 147. 對連結串列進行插入排序排序
- Django(76)isort工具對import匯入進行排序DjangoImport排序
- 對N個數進行從大到小排序排序
- 探究如何在Zoho Projects中建立和管理任務和子任務Project
- linux 中awk命令實現按照 指定的字元對文字進行排序Linux字元排序
- 任務卡片優先順序排序-Leangoo排序Go
- 天生創想OA任務管理系統:對任務進展情況瞭如指掌
- map和set對vector排序排序
- LeetCode-147-對連結串列進行插入排序LeetCode排序
- Mysql中的雙路排序和單路排序MySql排序
- 陣列進行排序的方法陣列排序
- 將Json載入到.NET物件並對結果進行過濾和排序JSON物件排序
- 力扣 147. 對連結串列進行插入排序力扣排序
- 按照價格排序!排序
- 桶排序和基數排序排序
- 選擇排序和快速排序排序
- SpringBoot整合Jpa對資料進行排序、分頁、條件查詢和過濾Spring Boot排序
- [MAUI]實現動態拖拽排序網格UI排序
- 在命令列用 sort 進行排序命令列排序
- C# JSON按key進行排序C#JSON排序
- 非交換排序-計數排序和桶排序排序