Com a dica do Fredy Gadotti fui testar o que falei acima... e vimos que Não funciona.
quando tem muitos itens, o labelfunction é executado apenas quando o item é exibido, sendo refeito quando o item (linha do grid) some e aparece novamente. com isso subindo e descendo a rolagem varias vezes, o sequencial vai aumentando infinitamente. Segue o teste que ocorre o problema... *<?xml version="1.0" encoding="utf-8"?>* *<s:Application creationComplete="application1_creationCompleteHandler(event)"* * xmlns:fx="http://ns.adobe.com/mxml/2009"* * xmlns:mx="library://ns.adobe.com/flex/mx"* * xmlns:s="library://ns.adobe.com/flex/spark">* * <fx:Script>* * <![CDATA[* * import mx.collections.ArrayCollection;* * import mx.events.FlexEvent;* * * * [Bindable]* * private var sequencial:int = 0;* * * * [Bindable]* * private var array:ArrayCollection = new ArrayCollection();* * * * protected function application1_creationCompleteHandler(event:FlexEvent):void {* * for (var i:int = 0; i < 100; i++) * * {* * array.addItem({teste:"teste"+i});** * * }* * }* * * * private function labelSequencial(item:Object,col:Object):String {* * return sequencial++.toString();* * }* * ]]>* * </fx:Script>* * * * <mx:DataGrid width="100%"* * height="100%"* * dataProvider="{array}">* * <mx:columns>* * <mx:DataGridColumn dataField=""* * headerText="Sequencial"* * labelFunction="labelSequencial"/>* * * * <mx:DataGridColumn dataField="teste"* * headerText="teste"/>* * </mx:columns>* * </mx:DataGrid>* *</s:Application>* então acho que o melhor é fazer um itemRender mesmo!!! :S desculpe ter postado algo sem testar!! Att, Samuel Facchinello http://desenvolvendoemflex.blogspot.com Joinville - SC Em 17 de agosto de 2011 08:45, Fredy Gadotti <[email protected]>escreveu: > <mx:DataGrid dataProvider="{collection}"> > <mx:columns> > <mx:DataGridColumn dataField="" headerText="Sequência" > labelFunction="labelSequencial" /> > <mx:DataGridColumn dataField="descricao" headerText="Descrição" /> > </mx:columns> > </mx:DataGrid> > -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
