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

Responder a