Cara, o problema está na sua implementação no labelFunction "segHMS_MS".
Você preparou o "labelFunction" para trabalhar com um dado no formato "NN.NN" onde "N" deve ser um número. Quando você inicia sua aplicação os dados da primeira coluna e da ultima estão neste formato. Porém, quando você clica numa destas células para editar os dados já estão formatados. Desta forma, se você clicar na primeira célula a sua função "segHMS_MS" pegará o dado "11:04:22.427" e não funcionará direito. Para comprovar isso deixe o "inicioEditor" como "editable=true" e quando clicar numa célula da primeira coluna para editar informe, por exemplo, "39862.427". []'s Beck Novaes On 3 nov, 16:20, Ricardo Ramires <[EMAIL PROTECTED]> wrote: > Olá... estou com o seguinte problema > > tenho 3 ItemEditor's nas 3 colunas do meu Datagrid, 2 colunas tem um > labelFunction e quando eu seleciono o item os valores desaparecem... > no que nao tem o labelFunction funciona na boa. > > Alguem já sofreu com isso ? > > Código: > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="vertical" > creationComplete="init()"> > > <mx:Script> > <![CDATA[ > > import mx.utils.ObjectProxy; > import mx.collections.ArrayCollection; > > [Bindable] private var legendas_col:ArrayCollection; > > private function init():void > { > legendas_col = new ArrayCollection([ > {LEG_TempoInicio: 39862.427, > LEG_Texto: "primeira legenda", > LEG_TempoFim: 39865.328}, > {LEG_TempoInicio: 39867.07, > LEG_Texto: "segunda legenda", > LEG_TempoFim: 39869.02}, > {LEG_TempoInicio: 39871.1, LEG_Texto: > "terceira legenda", > LEG_TempoFim: 39874.967}, > {LEG_TempoInicio: 39876.034, > LEG_Texto: "quarta legenda", > LEG_TempoFim: 39879.008} > ]); > > // acertando o errinho: > // warning: unable to bind to property > 'LEG_Texto' > // on class 'Object' (class is not an > IEventDispatcher), etc... > for(var i:String in legendas_col){ > legendas_col[i] = new > ObjectProxy(legendas_col[i]); > } > } > > private function segHMS(segundos:int):String > { > var seconds:int = Math.floor(segundos%60); > var minutes:int = > Math.floor((segundos/60)%60); > var hours:int = > Math.floor((segundos/3600)%24); > > var hms_ms:String = (hours > 0 ? (hours < 10 > ? "0"+hours : hours) > +":" : "") + > (minutes < 10 ? "0"+minutes : > minutes) + ":" > + (seconds < 10 ? "0"+seconds > : seconds); > > return hms_ms; > } > > private function segHMS_MS(data:Object, > column:DataGridColumn):String > { > var columnValue:Number = > data[column.dataField]; > > if (columnValue > 0) > { > var ms_str:String = > String(columnValue); > ms_str = > ms_str.slice(ms_str.lastIndexOf("."), > ms_str.lastIndexOf(".") + 4); > > var tam:int = 4 - ms_str.length; > > for(var i:int = 0 ; i < tam ; i++){ > ms_str += "0"; > } > > return segHMS(columnValue) + ms_str; > } > else > { > return ""; > } > } > > ]]> > </mx:Script> > > <mx:Component id="inicioEditor"> > <mx:TextInput > editable="false" > borderColor="#FF0000" > borderThickness="2" > borderStyle="solid"/> > </mx:Component> > > <mx:Component id="legendaEditor"> > <mx:TextArea > borderColor="#FF0000" > borderThickness="2" > borderStyle="solid"/> > </mx:Component> > > <mx:Component id="fimEditor"> > <mx:TextInput > editable="false" > borderColor="#FF0000" > borderThickness="2" > borderStyle="solid"/> > </mx:Component> > > <mx:DataGrid id="legendas_dg" > width="520" height="180" > dataProvider="{legendas_col}" > variableRowHeight="true" > editable="true"> > > <mx:columns> > <mx:DataGridColumn > width="95" > dataField="LEG_TempoInicio" > headerText="Início" > labelFunction="segHMS_MS" > itemEditor="{inicioEditor}" /> > > <mx:DataGridColumn > dataField="LEG_Texto" > headerText="Legenda" > wordWrap="true" > itemEditor="{legendaEditor}" > editorUsesEnterKey="false" /> > > <mx:DataGridColumn > width="95" > dataField="LEG_TempoFim" > headerText="Fim" > labelFunction="segHMS_MS" > itemEditor="{fimEditor}" /> > > <mx:DataGridColumn > width="16" > headerText="" > editable="false"> > <mx:itemRenderer> > <mx:Component> > <mx:Image > source="@Embed('assets/delete.png')" / > > </mx:Component> > </mx:itemRenderer> > </mx:DataGridColumn> > > </mx:columns> > </mx:DataGrid> > > </mx:Application> > > Grato, > > Ricardo --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
