17 enero 2012

#{ Flex: Tree problema con scroll y variableRowHeight }

0 comentarios

Alternativa para el problema que existe en Flex con el árbol y el scroll cuando este tiene la propiedad "variableRowHeight = true"
De manera simple y rápida la idea consiste en colocar al árbol, dentro de un VBox. Con esto vamos a conseguir que el scroll lo haga el VBox (no bugueado) en lugar del árbol.
A continuación el código, considerar de que se está usando un skin/componente:

  override protected function partAdded(partName:String, instance:Object):void{
   if(instance==arbolInstrumentoPlan){    
    arbolInstrumentoPlan.addEventListener(TreeEvent.ITEM_OPEN,calcularAlturaDelArbol);
    arbolInstrumentoPlan.addEventListener(TreeEvent.ITEM_CLOSE,calcularAlturaDelArbol);
   }
  }
  
  //al abrir o cerrar un nodo, se re-calcula el alto del árbol 
  //para así ajustar el tamaño del scroll. 
  private function calcularAlturaDelArbol(evt:TreeEvent):void {
   arbolInstrumentoPlan.height = arbolInstrumentoPlan.measureHeightOfItems();
   arbolInstrumentoPlan.invalidateList();   
  }
  
  
  


Importante acá es colocarle al árbol la propiedad "verticalScrollPolicy = off", ya que será el VBox quien nos realizará este trabajo:

  

0 comentarios:

Publicar un comentario

 
Buffer de Código | © Design by DheTemplate.com and Theme 2 Blog

Find more free Blogger templates at DheTemplate.com - Daily Updates Free Blogger Templates