dhtmlxGantt如何重新排序任務教程
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-2758680/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何在dhtmlxGantt網格中對任務進行排序和重新排序HTML排序
- dhtmlxGantt如何對任務進行分組使用教程HTML
- 重新排序排序
- 任務卡片優先順序排序-Leangoo排序Go
- Flutter中如何取消任務Flutter
- 直播系統開發,每日任務定時重新整理
- Django 如何使用 Celery 完成非同步任務或定時任務Django非同步
- 印表機如何取消列印任務 印表機列印任務刪不掉
- 如何建立systemd定時任務
- 如何有效進行任務管理?
- 任務佇列,巨集任務與微任務佇列
- 探究如何在Zoho Projects中建立和管理任務和子任務Project
- 如何使用cron任務每隔2天在固定時間執行任務
- 如何使用 cron 任務在 Linux 中計劃和自動化任務Linux
- 巨集任務和微任務
- 如何避免任務重複執行
- 教你如何使用 cron 來安排任務
- 如何寫一個任務佇列佇列
- Java如何實現定時任務?Java
- SpringBoot如何實現定時任務Spring Boot
- 如何在Linux中加入cron任務Linux
- 海豚排程調優 | 正在執行的工作流(DAG)如何重新拉起失敗的任務(Task)
- linux系統怎麼新增每天定時任務? linux系統新增定時任務的教程Linux
- SpringBoot與非同步任務、定時任務、郵件任務Spring Boot非同步
- JavaScript巨集任務和微任務JavaScript
- 新手教程:如何重新啟動和硬重置Apple WatchAPP
- 手機直播原始碼,每日定時重新整理使用者任務原始碼
- 任務
- 在Linux中如何使用at命令安排任務Linux
- Spark任務OOM問題如何解決?SparkOOM
- Python如何快速實現分散式任務?Python分散式
- Linux中如何實現定時任務Linux
- 如何在Mac上訪問任務控制Mac
- Linux如何透過命令重新啟動服務?Linux
- JavaScript的巨集任務與微任務JavaScript
- 任務系統之Jenkins子任務Jenkins
- Event Loop、 巨集任務和微任務OOP
- dhtmlxGantt如何在DHTMLX Gantt中設定資源管理選項HTML