如何在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排序
- dhtmlxGantt如何對任務進行分組使用教程HTML
- 如何在Python中對dicts列表進行排序Python排序
- 對字典進行排序排序
- 4.10 如何在Java中進行排序開發Java排序
- Linux中ls對檔案進行按大小排序和按時間排序Linux排序
- Python對字典進行排序Python排序
- 對N個數進行排序排序
- java對中文(拼音)進行排序Java排序
- iOS中對NSArray中自定義的物件進行排序iOS物件排序
- 在Java中對集合當中的物件進行排序Java物件排序
- 對list集合中的物件進行排序(轉載)物件排序
- 在ListCtrl中進行排序 (轉)排序
- 重新排序排序
- 多維陣列按鍵名進行重新排序陣列排序
- python 對字典的值進行排序Python排序
- 一個命令對文字進行高效排序排序
- ORDER對查詢結果進行排序排序
- 使用XPathExpression類對XML進行排序 (轉)ExpressXML排序
- 如何在File Cabinet Pro中對檔案排序排序
- 如何在File Cabinet Pro中對檔案排序?排序
- Map按照key和value進行排序排序
- [鐵柱分享]第五期:如何在 Laravel Eloquent 中對 all() 的結果進行排序?Laravel排序
- 探究如何在Zoho Projects中建立和管理任務和子任務Project
- 利用apache Collections和google guava對list和map進行過濾和排序ApacheGoGuava排序
- 使用Collections對list的內容進行排序排序
- Js比較對Object型別進行排序JSObject型別排序
- 根據陣列中物件進行排序陣列物件排序
- 天生創想OA任務管理系統:對任務進展情況瞭如指掌
- 任務卡片優先順序排序-Leangoo排序Go
- Django(76)isort工具對import匯入進行排序DjangoImport排序
- 對N個數進行從大到小排序排序
- C# 中使用Linq和Lambda表示式對List進行排序C#排序
- 如何在mysql中實現自然排序MySql排序
- C語言-對一個結構體中的欄位進行排序C語言結構體排序
- 用xgboost模型對特徵重要性進行排序模型特徵排序
- 147. 對連結串列進行插入排序排序
- 使用oracle decode對錶字元列進行order by 排序Oracle字元排序