Comunidad de diseño web y desarrollo en internet online

Usar VBox como ItemRenderer de un advancedDataGrid. FACIL

Citar            
MensajeEscrito el 11 Sep 2009 12:01 pm
Wenas,
Despues de tres semanas, casi tengo acabo la previsuallización e impresión de unos datagrid, sin que se corten las filas:D.
Pero me he topado con un problema, que debe ser facil y yo estar muy empanada pero no veo que falla.
Quiero crear un itemRenderer para el advancedDatagrid que sea un VBox con un texto dentro y un padding de 40 por arriba. (Hago esto porque con un simple texto no calcula bien su altuura y no respeta le paddingTop).
Para eso tengo este código:

Código ActionScript :

package dialog.print.ope
{
   import mx.containers.VBox;
   import mx.controls.advancedDataGridClasses.AdvancedDataGridListData;
   import mx.controls.listClasses.IDropInListItemRenderer;
   import mx.controls.listClasses.BaseListData;
   import mx.core.UITextField;
   public class textBlockVBox extends VBox implements IDropInListItemRenderer
   {
      private var texto:UITextField = new UITextField();

      public function textBlockVBox()
      {
         super();
         //propiedades del VBox
         setStyle("borderStyle", "solid");
         setStyle("borderColor", 0xFF0000);
         percentWidth = 100;
         percentHeight = 100;
         setStyle("paddingTop", 40);
         
         //propiedades del texto
         texto.wordWrap = true;
         texto.border = true;
         texto.borderColor = 0x00FF00;
         texto.percentWidth = 100;
         texto.percentHeight = 100;
         texto.setStyle("fontSize", 12);
         texto.setStyle("textDecoration", "underline");
         texto.setStyle("fontWeight", "bold");
         addChild(texto);

      }
      
      override protected function createChildren():void{
         super.createChildren();
//         addChild(texto);
      }
      
      //Funciones de manejo de listData del que lo toma como itemRenderer
      private var _listData:BaseListData;
      public function get listData() : BaseListData
      {
         return _listData;
      }
      public function set listData( value:BaseListData ) : void
      {
         _listData = value;
      }      

      override public function set data(value:Object):void
      {
         var dataField:String = AdvancedDataGridListData(listData).dataField;
            texto.text = value[dataField]; // Label.text is a String
         super.data = value;
       }
   }
}


Mi rpoblema que me divide el texto y no se expande a lo largo de todo el ancho del VBox. No se que se me escapa:S
A ver si alguien me puede hechar un cable, pq estoy ya que no veo na:S
Gracias! Byes

Por RaRaton

20 de clabLevel



 

Madrid - SPAIN

firefox
Citar            
MensajeEscrito el 11 Sep 2009 12:03 pm
Tambien se me olvido decir que también no aplica de los estilos:S
Con este itemRenderer, hace todo bien, pero pasa del paddingTop.

Código ActionScript :

package dialog.print.ope
{
   import mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer;

   public class textBlock extends AdvancedDataGridItemRenderer
   {
      public function textBlock()
      {
         super();
         wordWrap = true;
         setStyle("fontSize", 12);
         setStyle("textDecoration", "underline");
         setStyle("fontWeight", "bold");
      }
      
   }
}

Gracias de nuevo. A ver si hay suerte.
Byes

Por RaRaton

20 de clabLevel



 

Madrid - SPAIN

firefox

 

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