Udało mi się utworzyć Ext.tree.TreePanel, który dynamicznie ładuje węzły podrzędne, ale mam trudności z wyczyszczeniem drzewa i załadowaniem go nowymi danymi. Czy ktoś może mi pomóc z tym kodem?Jak wyczyścić drzewo w ExtJs?
Odpowiedz
W końcu znalazłem odpowiedź na ich forach. Dla wszystkich zainteresowanych jest tutaj:
if (tree)
{
var delNode;
while (delNode = tree.root.childNodes[0])
tree.root.removeChild(delNode);
}
if (tree) { var delNode; while (delNode = tree.root.childNodes[0]) tree.root.removeChild(delNode); }
nie wiem Ext, ale zgaduję, że mają DOM abstrakcji, które mogłyby sprawić, że łatwiej. Równoważny w Prototype byłoby coś jak:
tree.root.immediateDescendants().invoke('remove'); // or
tree.root.select('> *').invoke('remove');
ile tree.root
odnosi się do obiektu kolekcji zamiast tego głównego węzła drzewa DOM, ale pożycza DOM nazwy metod API? To wydaje się mało prawdopodobne, szczególnie w przypadku nowoczesnej biblioteki JS.
W moim przypadku moje drzewo ext ma ukryty węzeł główny typu AsyncTreeNode. Jeśli chcę wyczyścić drzewo i ponownie pobrać z serwera, jest to bardzo proste:
tree.getRootNode().reload();
Ze wspaniałego bloga Saki i guru ExtJS.
while (node.firstChild) {
node.removeChild(node.firstChild);
}
http://blog.extjs.eu/know-how/how-to-remove-all-children-of-a-tree-node/
uruchomiony do podobnego problemu, rozwiązanie, które pojawiły się z było dodawanie do węzła nie mający umieszczone kiedy zapadnięciu zmuszając przeładowania, gdy ponownie rozszerzone .
listeners: {
collapsenode: function(node){
node.loaded = false;
},
W Ext JS 4:
jeśli chcesz odświeżyć dane w panelu drzewa, trzeba przeładować sklep drzewa:
getCmp('treeId').getStore().load();
gdzie treeId jest identyfikator drzewo. Jeśli masz identyfikator sklepu, możesz bezpośrednio użyć load() na id sklepu.
usunąć wszystkie węzły potomne:
getCmp('treeId').getRootNode().removeAll();
Jednak usunięcie węzłów potomnych nie jest konieczne do przeładunku węzły drzewa z jego sklepu.
można po prostu użyć node.removeAll()
, aby usunąć wszystkie węzły podrzędne z tego węzła.
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.NodeInterface-method-removeAll
- 1. Jak wyczyścić siatkę w Extjs
- 2. Jak umieścić X wewnątrz pola tekstowego, aby wyczyścić tekst w extjs
- 3. ExtJs 4 ... Jak rozszerzyć komponenty Extjs 4?
- 4. Auto Expand Drzewo kategorii produktów
- 5. Działa jak drzewo w Rails3?
- 6. Jak wydrukować drzewo w Pythonie?
- 7. Jak ozdobić drzewo w Haskell
- 8. Jak przycinać drzewo w R?
- 9. Jak rozwinąć drzewo w gwt?
- 10. Jak wyczyścić historię w WKWebView?
- 11. Jak wyczyścić błąd $ w PowerShell?
- 12. Jak wyczyścić ekran w Pythonie
- 13. Jak wyczyścić JList w Javie?
- 14. Jak wyczyścić ekran w MySQL?
- 15. jak włączyć przycisk w extjs?
- 16. Jak utworzyć drzewo binarne
- 17. Jak głęboko skopiować drzewo?
- 18. Jak wyczyścić tablicę
- 19. Jak wyczyścić słownik?
- 20. Jak wyczyścić CrashLoopBackOff
- 21. Julia: Jak wyczyścić konsolę
- 22. JavaFX: jak wyczyścić płótnie
- 23. Jak wyczyścić RichTextBox WPF?
- 24. Jak ExtJS Ext.require() działa
- 25. Jak mogę "wyczyścić" virtualenv?
- 26. extJs gmappanel wewnątrz portalu extJs
- 27. Jak wyczyścić datagrid ASP.NET?
- 28. Jak wyczyścić: oba; prawidłowo?
- 29. jak wyczyścić pole wyboru
- 30. jak wyczyścić JTable