CheckBox DataGrid ItemRenderer en flex 4 con valores String

La funcionalidad de Flash Builder de crear itemRenderers al vuelo es algo que los desarrolladores de Flex hemos recibido con muchísimo agrado, hacerlo antes era un proceso más bien engorroso.

Este es un ejemplo de algo que se puede lograr en muy poco tiempo pero que demoré en encontrar debido sobre todo a que es una funcionalidad muy poco común, pero en realidad es muy fácil de hacer y se aplica a muchos otros casos.
Sin mucho preámbulo, al grano:

<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
focusEnabled="true">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
public function get Approved():String
{
return estadoAprobado.selected ? 'T' : 'F';
}
public function set Approved(value:String):void
{
estadoAprobado.selected = value == 'T' ? true : false;
}
]]>
</fx:Script>
<s:CheckBox id="estadoAprobado" verticalCenter="0" horizontalCenter="0"/>
</s:MXDataGridItemRenderer> 

Y con esto, simplemente tenemos un itemRenderer para un datagrid con un checkbox adentro que evalúa si el valor es “T” o “F” en vez de usar valores boolean, usarlo en una columna de un datagrid es tan simple como:

 <mx:DataGridColumn headerText="Aprobado" dataField="Approved" width="100" textAlign="center" itemRenderer="renderers.CheckBoxRenderer" rendererIsEditor="true" editorDataField="Approved"/> 

En este caso, el nombre del campo que viene en el ArrayCollection y que es evaluado, es “Approved.

Anuncios

, , ,

  1. #1 por Arturo Alvarez el mayo 8, 2012 - 1:20 pm

    Muy buen ejemplo. Gracias.

    Ojalá fuera así de sencillo y claro también para el spark DataGrid y el spark Checkbox de Flex 4.

    • #2 por Xyrer el mayo 10, 2012 - 11:23 pm

      el nuevo datagrid carece de algunos accesos simples como lo tenía antes, el nuevo datagrid requiere cambios en skins y estilos, es un poco más complicado pero estoy tratando de hacerlo funcionar igual.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: