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
-~----------~----~----~----~------~----~------~--~---

Responder a