En este tip, siguiendo un poco el ejemplo visto en el tip anterior, mostraré el uso de itemRenderes e itemEditors para mostrar y editar datos dentro de componentes basados en listas, como el componente List, el DataGrid o el TileList...
Como se vió en el tip anterior los itemRenderer (y los itemEditors) nos permiten incrustar otros componentes Flex dentro de los listados de los componentes basados en listas, para poder mostrar la información de manera más compleja. Pudiendo de esta manara mostrar imágenes dentro de un DataGrid o fichas de productos dentro de un TileList.
Hay muchos casos en que esta información mostrada en los componentes nos interesa que sea modificable. Por ejemplo, siguiendo el ejemplo anterior, imaginemos que tenemos un DataGrid que nos muestra un listado de usuarios y su nivel de ClabLevel. El código básico para visualizar este componente sería el siguiente:
Código :
<mx:DataGrid
horizontalCenter="0" verticalCenter="0"
width="200" height="200"
dataProvider="{listado}">
<mx:columns>
<mx:DataGridColumn headerText="Claber" dataField="label"/>
<mx:DataGridColumn headerText="Clablevel" dataField="level">
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
Código :
<mx:DataGrid
horizontalCenter="0" verticalCenter="0"
width="200" height="200"
dataProvider="{listado}"
editable="true">

Código :
<mx:DataGridColumn headerText="Claber" dataField="label" editable="false"/>

Código :
<mx:columns> <mx:DataGridColumn headerText="Claber" dataField="label" editable="false"/> <mx:DataGridColumn headerText="Clablevel" dataField="level" editorDataField="value"> <mx:itemEditor> <mx:Component> <mx:NumericStepper minimum="0" maximum="99999" stepSize="1"/> </mx:Component> </mx:itemEditor> </mx:DataGridColumn> </mx:columns>
Código :
<mx:DataGridColumn headerText="Clablevel" dataField="level" rendererIsEditor="true" editorDataField="value"> <mx:itemRenderer> <mx:Component> <mx:NumericStepper minimum="0" maximum="99999" stepSize="1"/> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn>
Código :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Script>
<![CDATA[
]]>
</mx:Script>
<mx:ArrayCollection id="listado">
<mx:Object label="Freddie" level="43458"/>
<mx:Object label="Elecash" level="7289"/>
<mx:Object label="_Conejo" level="7203"/>
<mx:Object label="XKlibur" level="4713"/>
<mx:Object label="Zguillez" level="4120"/>
<mx:Object label="Eldervaz" level="3123"/>
<mx:Object label="Mariux" level="2921"/>
<mx:Object label="Zah" level="2906"/>
<mx:Object label="Bleend" level="2016"/>
<mx:Object label="Carmen Vivas" level="610"/>
</mx:ArrayCollection>
<mx:DataGrid
horizontalCenter="0" verticalCenter="0"
width="200" height="200"
editable="true"
dataProvider="{listado}">
<mx:columns>
<mx:DataGridColumn headerText="Claber" dataField="label" editable="false"/>
<mx:DataGridColumn headerText="Clablevel" dataField="level" editorDataField="value">
<mx:itemEditor>
<mx:Component>
<mx:NumericStepper minimum="0" maximum="99999" stepSize="1"/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Application>
Bleend-blog :