Foros del Web » Programando para Internet » Javascript » Frameworks JS »

DOJO: Ayuda con creacion de Tree

Estas en el tema de DOJO: Ayuda con creacion de Tree en el foro de Frameworks JS en Foros del Web. Hola muchachos: es la primera vez que entro a este foro y desde hace poco que uso dojo. mi consulta es la siguiente: como bien ...
  #1 (permalink)  
Antiguo 18/11/2010, 13:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta DOJO: Ayuda con creacion de Tree

Hola muchachos:
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:
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
});
esto es la clase controlador donde hago todo en realidad, despues en el html lo instancio y listo.

desde ya muchas gracias.
espero aprender.

Saludos

Última edición por sergio_rivas12; 18/11/2010 a las 13:54

Etiquetas: dojo, tree
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:23.