Humm, entendi, vou estudar + sobre itemEditors, hehehe
Valeu... On 6 nov, 07:43, Beck Novaes <[EMAIL PROTECTED]> wrote: > 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 -~----------~----~----~----~------~----~------~--~---
