Comunidad de diseño web y desarrollo en internet online

No me funcionan unas propiedades tree

Citar            
MensajeEscrito el 18 Jun 2009 08:13 am
Tengo un problema que no llego a entender del todo. Quiero mostrar que elemento tengo elegido en un tree pero algunas lineas me dan error, exactamente las que le he puesto //:

Código ActionScript :

var newTree:Tree = new Tree();
             newTree.dataProvider = tmpTree;
             newTree.labelField = "@label";
             newTree.width = 250;
             //newTree.itemOpen = itemOpenEvt(event);
             //newTree.change = changeEvt(event);


Pero si hago lo mismo así no me da error:

Código Flex :

<mx:Tree id="mytree" itemOpen="itemOpenEvt(event)" dataProvider="{httpTree}" labelField="@label" change="changeEvt(event)" x="378" y="301"/>


Como debería de declararlos en el primer ejemplo? Las demás propiedades que utilizo me las deja poner newTree.xxx pero estas no y no veo la razón.Creo que tengo todos los imports encesarios, si porlomenos los que veo que tienen en los ejemplos de adobe, pero igual se me escapa alguno, no lo se.

Gracias

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Jun 2009 10:33 am
El dataProvider no es el mismo (tmpTree en un caso, httpTree en el otro) ¿Que error te da?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2009 10:53 am
Son diferentes pero también hago esto:

Código ActionScript :

xmlTree = XML(httpTree.lastResult);  


Los errores son:

1120: Acceso a una propiedad event no definida
1119: Acceso a una propiedad itemOpen posiblemente no definida mediante una referencia con tipo estático mx.controls:Tree.
1119: Acceso a una propiedad change posiblemente no definida mediante una referencia con tipo estático mx.controls:Tree.

Seuna a que me falta algún import, pero he emtido los que he visto en el ejemplo que me funciona. Igual hay que meter alguna más.

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Jun 2009 11:28 am
Vale, es que estás declarando eventos como si fueran propiedades, por ejemplo este:

newTree.change = changeEvt(event);

Sería así:

newTree.addEventListener(ListEvent.CHANGE, changeEvt);

Lo mismo el otro

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2009 11:39 am
Baltuna, ando un poco despistado y lo mismo estoy patintando, pero la "traducción" que haces no es correcta, puesto que NO son propiedades sino EVENTOS(o comportamientos o como se llamen), luego los tendrás que añadir con addEventListener, así que debería ser

Código ActionScript :

var newTree:Tree = new Tree(); 
newTree.dataProvider = tmpTree; 
newTree.labelField = "@label"; 
newTree.width = 250; 

//newTree.itemOpen = itemOpenEvt(event); 
//sería
newTree.addEventListener(TreeEvents.ITEM_OPEN,itemOpenEvt)

//newTree.change = changeEvt(event);
//sería
newTree.addEventListener(Event.CHANGE, changeEvt);

//deberíamos tener aquí las funciones itemOpenEvt y changeEvt)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Jun 2009 12:03 pm
Gracias ahora sí que me funciona bien. Solo comentar que es 'TreeEvent.ITEM_OPEN' sin la s. Se que tu lo sabes pero lo digo por si viene alguien con el mismo problema.

Muchas gracias, aparte de solucionar el problema he aprendido un concepto que tenia confundido

Por zakabalt

48 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.