es la primera vez que entro a este foro y desde hace poco que uso dojo.
mi consulta es la siguiente: como bien dice el titulo es sobre la creacion de Arboles con datos, he buscado en cuanta pagina se me ha presentado y solo me ha mostrado una forma de subir datos, que es atraves de un archivo JSON:
{
identifier: 'id',
label: 'name',
items: [
{ id: '0', name: 'Fruits', top: true, children: [ {_reference: 1}, {_reference: 4} ] },
{ id: '1', name: 'Citrus', items: [ {_reference: 2}, {_reference: 3} ] },
{ id: '2', name: 'Orange'},
{ id: '3', name: 'Lemon'},
{ id: '4', name: 'Tomato'},
{ id: '5', name: 'Vegetables', top: true, children: [ {_reference: 4} ] },
{ id: '6', name: 'Lettuce'},
]
}
no es lo que necesito, yo lo que quiero en realidad es hacer lo mismo pero a traves de 2 Arrays, uno como en el ejemplo con los tipos de frutas y en cada tipo de fruta otra lista enlazada con sus objetos pertenecientes.
he intentado por todas las formas pasarle la lista y que me genere el arbol pero no hay caso.
alguien pudo hacer algo parecido, o alguna estructura, o sino con que objetos tengo que interactuar para poder pasarlos los datos de las listas.
el codigo es el siguiente
Código:
esto es la clase controlador donde hago todo en realidad, despues en el html lo instancio y listo.dojo.provide("owgep.TreeController"); dojo.require("dijit.Tree"); dojo.require("dojo.data.ItemFileWriteStore"); dojo.require("owgep.CheckBoxTree"); dojo.require("owgep.TreeData"); dojo.require("owgep.NodeItem"); dojo.declare("owgep.TreeController", null, { treeDomNode : null, treeData : null, store : null, model : null, preamble : function() { console.log(this.declaredClass + ":preamble", arguments); }, /** * Constructor de instancias */ constructor : function(/* DOM Node */aTreeDomNode) { console.log(this.declaredClass + ":constructor", arguments); this.treeDomNode = aTreeDomNode; var store = new dojo.data.ItemFileWriteStore( { data : this._createTreeData() }); var model = new owgep.CheckBoxStoreModel( { store : store, rootLabel : 'Territorios', // checkboxAll : true, // checkboxRoot : false, // checkboxState : true labelAttr : 'name', typeAttr : 'type', children: ["children"] }); var tree = new owgep.CheckBoxTree( { model : model, id : "MenuTree" }); tree.placeAt(this.treeDomNode); dojo.connect(tree, "onNodeChecked", function(storeItem, nodeWidget) { alert(storeItem.name + " got checked.."); }); }, postscript : function() { console.log(this.declaredClass + ":postscript", arguments); }, /** * Crea un treeData como ejemplo de configuracion del arbol de territorios. * * @returns {owgep.TreeData} */ _createTreeData : function() { var treeData = new owgep.TreeData('id','name'); var nodo = new owgep.NodeItem('Argentina','tipo',true,true); var nodo1 =new owgep.NodeItem('Bsas','tipo',true,true) nodo.push(nodo1); treeData.push(nodo); treeData.push(new owgep.NodeItem('Brasil','tipo',true,true)); treeData.push(new owgep.NodeItem('Ecuador','tipo', true,true)); treeData.push(new owgep.NodeItem('Ururguay','tipo',true,true)); treeData.push(new owgep.NodeItem('Chile','tipo',true,true)); return treeData });
desde ya muchas gracias.
espero aprender.
Saludos