2012-05-09 14 views
0

我正在使用jqGrid Tree網格來顯示某些分層數據。我必須實現刪除功能,迄今爲止做得非常好,只有導致問題的東西「是當特定節點的所有子節點都被刪除時,此節點應該成爲葉節點,即其圖標應該從箭頭改變爲葉一個如何在jqGrid中刪除所有子節點時更改父節點的圖標Tree Grid

我用下面的代碼從電網

$trackerGrid.jqGrid('delTreeNode', actoinItemEntityId); 
var record = getRowRecord(baseId); 
var siblingArray = $trackerGrid.jqGrid('getNodeChildren', record); 

if(!siblingArray || !siblingArray.length) {           

    $trackerGrid.jqGrid('collapseNode', record); 
    setLeafColumnValue(baseId, false); 
} 

節點被成功刪除,但父母的圖標刪除節點不改變,圖標保持擴展節點。有人對此有所瞭解嗎?

回答

1

通常情況下,TreeGrid中沒有子節點的節點不是相同的一個Leaf。您可以將節點想象爲文件夾和葉子作爲文件。即使您從文件夾中刪除所有文件,它仍將保留文件夾,並且不會轉換爲文件。

如果你的使用情況,您描述的行爲都是理性的,我會建議你做以下:

  • 從空節點獲得當前數據。我認爲你可以用rowid來使用getLocalRow獲得本地data;
  • 刪除現在沒有子節點的節點;
  • 然後使用addChildNode添加新節點,其數據與以前相同,但使用isLeaf: true

在這種情況下,您將擁有包含TreeGrid所有標準的代碼,它將在jqGrid的下一個版本中工作。

相關問題