Comunidad de diseño web y desarrollo en internet online

Conseguir ruta del nodo de un tree

Citar            
MensajeEscrito el 02 Jul 2009 08:50 am
Hola, tengo un tree en donde consigo sacar el nombre nodo que selecciono, para luego trabajar con ellos. Mi pregunta es si es posible sacar su ruta, esto es, el nombre completo con sus padres. Por ejemplo ahora consigo el nombre Carpeta11 y quisiera conseguir INBOX.Usuario.Carpeta1.Carpeta11 (tomando en cuenta que es es la estructura, claro está.

Hay alguna forma de hacer eso?

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jul 2009 04:19 pm
Y para que necesitas eso que dices?

Por sergestux

49 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2009 04:23 pm
En un tree que cargo desde un xml accedo al nodo padre del submenu asi:


Código Flex :

function treeChanged(event:Event):void
{
  trace (myTree.getParentItem(Tree(event.target).selectedItem).@label);
}

...
<mx:Tree id="myTree" labelField="@label" change="treeChanged(event)"/>

Por sergestux

49 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2009 06:32 pm
Lo necesito porque en la parte servidor utilizo Java en concreto su api Javamail. Y Javamail me da la estructura del arbol en ese formato. Yo he tenido que crear el Xml y ahora necesito de neuvo ese formato para pasarle a java la ruta concreta de cada nodo.

A ver si lo puedo conseguir.

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jul 2009 08:02 am
Alguien podría echarme un cable con esto?

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jul 2009 09:24 am
Sergestux te dió la clave: usar getParentItem. Sólo queda hacer un bucle

Código ActionScript :

private function changeEvt(event:Event):void {
  var item:Object = event.currentTarget.selectedItem;  //igualamos una variable al item seleccionado
  var ruta:String=item.@label  //creamos una variable y le asignamos el valor del label
  while (true){
   if (myTree.getParentItem(item) != null) {  //si tiene padre "item"
      item=myTree.getParentItem(item) //igualamos "item" al padre
      ruta = item.@label + "." + ruta;  //añadimos la label a la ruta
   }else {
      break;
   }
   }
   trace(ruta)
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jul 2009 09:37 am
Ok, ahora lo prueba, pero tengo otra cosilla. No puedo acceder a algunas propiedades del tree como getParentItem, isItemOpen, expandItem y hasta ahora me funcionaban(o eso creo).

Tengo hecho el import mx.controls.Tree y segun he leido en la pagina no necesito nada más. El error es el siguiente

1061: Llamada a un método getParentItem posiblemente no definido mediante una referencia con tipo estático Class.

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jul 2009 09:50 am
Dejalo, ya lo he solionado, el problema no era el getParentItem.

Por zakabalt

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jul 2009 09:57 am
Porcierto probe el código y me funciona correctamente. Muchas gracias crack!

Por zakabalt

48 de clabLevel



 

firefox

 

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