SOLUÇÃO

O problema era que  o evento que eu queria é o itemEditBeginning e não
itemEditBegin como eu usei.

On 29 jul, 07:29, Bruno Carneiro <[email protected]> wrote:
> Gente, por favor, mudei de estação de trabalho e agora estou recebendo
> o seguinte erro:
>
> Quando clico na coluna cujo dataField é edit, ANTES DA ALERT APARECER,
> eu recebo várias vezes essa msg de erro.
>
> ReferenceError: Error #1069: Property edit not found on VO.VOCarro and
> there is no default value.
>         at mx.controls::DataGrid/itemEditorItemEditEndHandler()[C:\autobuild
> \3.2.0\frameworks\projects\framework\src\mx\controls\DataGrid.as:4860]
>         at flash.events::EventDispatcher/dispatchEventFunction()
>         at flash.events::EventDispatcher/dispatchEvent()
>         at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks
> \projects\framework\src\mx\core\UIComponent.as:9298]
>         at mx.controls::DataGrid/endEdit()[C:\autobuild\3.2.0\frameworks
> \projects\framework\src\mx\controls\DataGrid.as:4041]
>         at mx.controls::DataGrid/deactivateHandler()[C:\autobuild
> \3.2.0\frameworks\projects\framework\src\mx\controls\DataGrid.as:4565]
>         at mx.managers.systemClasses::StageEventProxy/stageListener()[C:
> \autobuild\3.2.0\frameworks\projects\framework\src\mx\managers
> \systemClasses\StageEventProxy.as:35]
>         at flash.events::EventDispatcher/dispatchEventFunction()
>         at flash.events::EventDispatcher/dispatchEvent()
>         at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks
> \projects\framework\src\mx\core\UIComponent.as:9298]
>         at mx.controls::DataGrid/endEdit()[C:\autobuild\3.2.0\frameworks
> \projects\framework\src\mx\controls\DataGrid.as:4041]
>         at mx.controls::DataGrid/itemEditorFocusOutHandler()[C:\autobuild
> \3.2.0\frameworks\projects\framework\src\mx\controls\DataGrid.as:4734]
>         at flash.display::Stage/set focus()
>         at mx.core::UIComponent/setFocusLater()[C:\autobuild\3.2.0\frameworks
> \projects\framework\src\mx\core\UIComponent.as:8815]
>
> Acontece que meu datagrid recebe um array de VOCarro. E nessa classe
> realmente não existe a propriedade edit. Porém, eu coloquei ali
> somente para identificar a coluna no meu evento itemEditBegin. Eu fiz
> a mesma coisa em um projeto anterior e não tive problema, pelo menos
> que me lembre não fiz nada diferente.
>
> Alguém pode me ajudar?
>
> Eu queria de alguma forma, identificar que aquela coluna foi clicada,
> pq ao clicar nela eu abro um popup para edição do item.
>
> On 27 jul, 19:27, Bruno Carneiro <[email protected]> wrote:
>
> > Alguém?
>
> > On 27 jul, 15:00, Bruno Carneiro <[email protected]> wrote:
>
> > > Gente, olhem o meu código. Quando eu clico na coluna que tem o
> > > dataField = "edit" o alert mostra em vazio ao invez de "edit". Não
> > > consigo entender...
>
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml";
> > > layout="absolute" width="752" height="556"
> > >         title="Lista de Carros" showCloseButton="true"
> > > close="PopUpManager.removePopUp(this);"
> > >          creationComplete="init();" >
> > > <mx:Script>
> > >         <![CDATA[
> > >                 import mx.controls.dataGridClasses.DataGridColumn;
> > >                 import mx.events.DataGridEvent;
> > >                 import mx.managers.PopUpManager;
> > >                 import mx.rpc.events.FaultEvent;
> > >                 import mx.rpc.events.ResultEvent;
> > >                 import mx.events.ListEvent;
> > >                 import mx.controls.Alert;
>
> > >                 private function 
> > > dg_carros_itemEditBegin(event:DataGridEvent):void{
> > >                         Alert.show(event.dataField); //Alert aparece em 
> > > branco
> > >                 }
>
> > >                 private function faultListener(event:FaultEvent):void {
> > >                         Alert.show(event.fault.message, "Error");
> > >                 }
>
> > >                 private function getCarroListener(event:ResultEvent):void{
> > >                         var carros:Array = event.result as Array;
> > >                         this.dg_carros.dataProvider = carros;
>
> > >                 }
>
> > >                 private function init():void{
> > >                         this.carroRemote.getCarro();
> > >                 }
> > >         ]]>
> > > </mx:Script>
>
> > >         <mx:RemoteObject id="carroRemote" destination="zend"
> > > source="CarroService" showBusyCursor="true" fault="faultListener
> > > (event)">
> > >                 <mx:method name="getCarro" 
> > > result="getCarroListener(event)" />
> > >         </mx:RemoteObject>
>
> > >         <mx:DataGrid x="0" y="0" width="100%" height="100%" id="dg_carros"
> > > editable="true" itemEditBegin="dg_carros_itemEditBegin(event);">
> > >                 <mx:columns>
> > >                         <mx:DataGridColumn headerText="Ano fab" 
> > > dataField="ano_fab"
> > > editable="false"/>
> > >                         <mx:DataGridColumn headerText="Ano mod" 
> > > dataField="ano_mod"
> > > editable="false"/>
> > >                         <mx:DataGridColumn headerText="Marca" 
> > > dataField="marca"
> > > editable="false"/>
> > >                         <mx:DataGridColumn headerText="Modelo" 
> > > dataField="modelo"
> > > editable="false"/>
> > >                         <mx:DataGridColumn headerText="Motor" 
> > > dataField="motor"
> > > editable="false"/>
> > >                         <mx:DataGridColumn headerText="Portas" 
> > > dataField="nro_portas"
> > > editable="false"/>
>
> > >                          <mx:DataGridColumn dataField="edit"
> > > headerText="" width="30" sortable="false" textAlign="center">  // EU
> > > CLICO AQUI!!!!!
>
> > >                                 <mx:itemRenderer>
> > >                                         <mx:Component>
> > >                                                 <mx:HBox>
> > >                                                 <mx:Image width="30" 
> > > horizontalAlign="center" source="@Embed
> > > (source='../imgs/edit.png')" />
> > >                                                 </mx:HBox>
> > >                                         </mx:Component>
> > >                                 </mx:itemRenderer>
> > >                         </mx:DataGridColumn>
>
> > >                         <mx:DataGridColumn dataField="" headerText="" 
> > > width="30"
> > > sortable="false" textAlign="center">
> > >                                 <mx:itemRenderer>
> > >                                         <mx:Component>
> > >                                                 <mx:HBox>
> > >                                                 <mx:Image width="30" 
> > > horizontalAlign="center" source="@Embed
> > > (source='../imgs/delete.png')" />
> > >                                                 </mx:HBox>
> > >                                         </mx:Component>
> > >                                 </mx:itemRenderer>
> > >                         </mx:DataGridColumn>
> > >                 </mx:columns>
> > >         </mx:DataGrid>
>
> > > </mx:TitleWindow>
--~--~---------~--~----~------------~-------~--~----~
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