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