He logrado crear un Ext.tree.TreePanel que carga los nodos secundarios dinámicamente, pero me está resultando difícil borrar el árbol y cargarlo con nuevos datos. ¿Alguien puede ayudarme con el código para hacer esto?¿Cómo se limpia un árbol en ExtJs?
Respuesta
Finalmente encontré una respuesta en sus foros. Para cualquier persona interesada es aquí:
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); }
No sé Ext, pero supongo que tienen la abstracción DOM que podrían hacer que sea más fácil. Un equivalente en Prototipo sería algo así como:
tree.root.immediateDescendants().invoke('remove'); // or
tree.root.select('> *').invoke('remove');
A menos tree.root
se refiere a un objeto de colección en lugar de nodo DOM raíz del árbol, pero está pidiendo prestado DOM nombres de los métodos de la API? Eso parece poco probable, especialmente para una biblioteca JS moderna.
En mi caso, mi árbol Ext tiene un nodo raíz oculto de tipo AsyncTreeNode. Si quiero borrar el árbol y repoblar desde el servidor, es bastante simple:
tree.getRootNode().reload();
Desde el blog maravilloso de Saki un gurú ExtJS.
while (node.firstChild) {
node.removeChild(node.firstChild);
}
http://blog.extjs.eu/know-how/how-to-remove-all-children-of-a-tree-node/
me encontré con un problema similar y la solución que ocurrió fue que 'etiqueta' del nodo no ha de haber cargado cuando se derrumbó obligando así a una recarga cuando fue vuelto a expandir .
listeners: {
collapsenode: function(node){
node.loaded = false;
},
En Ext JS 4:
si desea volver a cargar los datos del panel de árbol, es necesario recargar la tienda de árbol:
getCmp('treeId').getStore().load();
donde treeId es el id de la árbol. Si tiene una identificación de tienda, puede usar load() directamente en la identificación de la tienda.
para eliminar todos los nodos hijos:
getCmp('treeId').getRootNode().removeAll();
Sin embargo, la eliminación de nodos secundarios no es necesaria para la recarga de los nodos del árbol de su tienda.
simplemente puede usar node.removeAll()
para eliminar todos los nodos secundarios de este nodo.
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.NodeInterface-method-removeAll
- 1. Cómo deshacerse de los iconos en el árbol extjs
- 2. ¿Cómo se limpia un determinado campo en un InlineFormSet?
- 3. ExtJS 4 - Nunca almacenar en caché los nodos del árbol en el panel del árbol
- 4. css sin usar: ¿cómo se limpia?
- 5. Extjs 4: creación de un modelo para un panel de árbol
- 6. Cómo decorar un árbol en Haskell
- 7. comprobar los nodos secundarios de un árbol cuando se hace clic en uno de los padres [ExtJS]
- 8. ¿Cómo se limpia el caché WebView en Cocoa?
- 9. ¿Cómo se limpia el buffer de respuesta en ColdFusion?
- 10. ¿Cómo refrescar un GridView en Extjs?
- 11. ¿Cómo se hace un árbol de búsqueda binario en Clojure?
- 12. ¿Cómo se representa un árbol de datos en SQL?
- 13. Cómo buscar un elemento secundario en un panel en ExtJs
- 14. ¿Cómo centrar un icono en un botón extjs?
- 15. ¿Cómo implementar un árbol binario?
- 16. ¿Cómo se establece el índice z en Ext.Panel (ExtJS)?
- 17. ¿Cómo se realiza la herencia del controlador en ExtJS 4?
- 18. ¿Cómo construir un árbol y?
- 19. ¿Cómo se limpia el programa al salir del programa javafx?
- 20. Cómo crear un árbol binario
- 21. Cómo puedo crear un menú contextual para la cuadrícula extjs
- 22. Comprobar/desmarcar automáticamente todos los nodos de subárbol en el árbol extjs cuando se comprueba/desbloquea cierto nodo
- 23. extjs 4 árbol seleccione un nodo específico por su id. Interno (no por índice de registro)
- 24. ¿Cómo hacer un árbol en C++?
- 25. ¿Cómo se puede representar un nodo de árbol B?
- 26. Manejo de evento de evento de elemento en el panel de árbol Extjs 4
- 27. Consumir fechas JSON en un gridpanel EXTJs
- 28. cómo aprender EXTJS
- 29. Extjs - Dinámicamente generar campos en un FormPanel
- 30. ¿Qué es un sandbox extjs?