Antonio... estou olhando o seu código... ainda não vi o problema. Porém, já faça duas coisas, faça o cast dos retornos do ResultEvent para Array: dpHospital=event.result.data *as Array*;
Outra coisa, coloque o fault nos methods do seu RemoteObject. Provável que possa estar ocorrendo algum erro e você não está recebendo-o por não ter o fault implementado. É só criar uma função onFault e mandar todos faults dos methods para lá! ^^ Faça essas alterações e dê um retorno se apareceu mais alguma coisa Att. Em 27 de abril de 2011 11:00, Antonio Pasqualli <[email protected] > escreveu: > Ola meu dataprovider é do tipo array, quando uso a sua função ele retorno 0 > sempre, > se mudo meu dataprovider para arraycolletion ou object ele não traz os > dados no datagrid. > Oq pode ser? > > Em 27 de abril de 2011 09:42, William Lima <[email protected]>escreveu: > > Antonio Pasqualli, >> >> Se você quiser saber se a grid está vazia, você tem que verificar >> através do dataProvider! >> >> public function ver():void{ >> if(dgTeste.dataProvider.length==0){ >> Alert.show("Vazio"); >> } >> >> se for para limpar todos os dados dá um: >> >> private function metodoResult(evento: ResultEvent): void { >> teuProvider = new ArrayCollection(evento.result.data); >> } >> >> Acho que é isso! >> >> Em 27 de abril de 2011 09:26, Antonio Pasqualli < >> [email protected]> escreveu: >> >> Ola, segue >>> <?xml version="1.0" encoding="utf-8"?> >>> <flexmdi:MDIWindow xmlns:fx="http://ns.adobe.com/mxml/2009" >>> xmlns:s="library://ns.adobe.com/flex/spark" >>> xmlns:mx="library://ns.adobe.com/flex/mx" >>> xmlns:flexmdi="http://flexmdi.googlecode.com/" >>> layout="absolute" >>> height="380" >>> fontFamily="Verdana" fontSize="10" >>> title="Opção Selecionada: {dgCategoria.selectedItem.hca_nome}" >>> width="750" >>> creationComplete="carregaLista(); ver()"> >>> <flexmdi:states> >>> <s:State name="Principal"/> >>> <s:State name="Estados"/> >>> <s:State name="Regiao"/> >>> <s:State name="RegiaoHospital"/> >>> <s:State name="Hospital"/> >>> </flexmdi:states> >>> <fx:Declarations> >>> <!-- Place non-visual elements (e.g., services, value objects) here --> >>> <s:RemoteObject id="roHospitais" >>> fault="OnFault(event)" >>> source="acaoHospitais" >>> destination="amfphp" >>> showBusyCursor="true"> >>> <s:method name="categoria" >>> result="OnResultListarCategorias(event)"/> >>> <s:method name="estado" >>> result="OnResultListarEstados(event)"> >>> <s:arguments> >>> <identificador>{identificadorCat.text}</identificador> >>> </s:arguments> >>> </s:method> >>> <s:method name="regiao" >>> result="OnResultListarRegiao(event)"> >>> <s:arguments> >>> <identificador>{identificadorEst.text}</identificador> >>> </s:arguments> >>> </s:method> >>> <s:method name="regiao_hospital" >>> result="OnResultListarRegHospital(event)"> >>> <s:arguments> >>> <identificador>{identificadorReg.text}</identificador> >>> </s:arguments> >>> </s:method> >>> <s:method name="hospital" >>> result="OnResultHospital(event)"> >>> <s:arguments> >>> <identificador>{identificadorEst.text}</identificador> >>> </s:arguments> >>> </s:method> >>> </s:RemoteObject> >>> </fx:Declarations> >>> <fx:Script source="../actionScript/Padrao.as"/> >>> <fx:Script> >>> <![CDATA[ >>> import mx.collections.ArrayCollection; >>> import mx.controls.Alert; >>> import mx.rpc.events.FaultEvent; >>> import mx.rpc.events.ResultEvent; >>> //fault durante integração >>> public function OnFault(event:FaultEvent):void{ >>> Alert.show(event.fault.message, "Erro durante Integração", 4, null, >>> null, Pare); >>> } >>> //trazer categoria >>> [Bindable] >>> public var dpCat:Array; >>> public function OnResultListarCategorias(event:ResultEvent):void{ >>> dpCat=event.result.data; >>> } >>> public function carregaLista():void{ >>> roHospitais.categoria.send(); >>> } >>> //carrega lista de estados conforme lista de caregoria >>> [Bindable] >>> public var dpEstados:Array; >>> public function OnResultListarEstados(event:ResultEvent):void{ >>> dpEstados=event.result.data; >>> } >>> >>> public function carregaEstados():void{ >>> roHospitais.estado.send(); >>> currentState='Estados'; >>> } >>> //carrega regioes se possuir >>> [Bindable] >>> public var dpRegiao:Array; >>> public function OnResultListarRegiao(event:ResultEvent):void{ >>> dpRegiao=event.result.data; >>> } >>> >>> public function carregaRegiao():void{ >>> roHospitais.regiao.send(); >>> currentState='Regiao'; >>> dgRegiao.dataProvider=dpRegiao; >>> } >>> //carrega regiao hospital se existir >>> [Bindable] >>> public var dpRegiaoHospital:Array; >>> public function OnResultListarRegHospital(event:ResultEvent):void{ >>> dpRegiaoHospital=event.result.data; >>> } >>> public function carregarRegHospital():void{ >>> roHospitais.regiao_hospital.send(); >>> currentState='RegiaoHospital'; >>> } >>> //trazer hospitais >>> [Bindable] >>> public var dpHospital:Array; >>> public function OnResultHospital(event:ResultEvent):void{ >>> dpHospital=event.result.data; >>> } >>> public function carregaHospital():void{ >>> roHospitais.hospital.send(); >>> currentState='Hospital'; >>> } >>> //verifica se possui regiao///////////////////////// >>> public function verSePosuiRegiao():void{ >>> if(dgEstados.rowCount!=0) >>> carregaRegiao(); >>> else >>> carregaHospital(); >>> } >>> >>> //evento voltar >>> public function principal():void{ >>> currentState='Principal'; >>> } >>> public function estados():void{ >>> currentState='Estados'; >>> } >>> public function regiao():void{ >>> currentState='Regiao'; >>> } >>> public function regiaoHospital():void{ >>> currentState='RegiaoHospital'; >>> } >>> >>> >>> //testar dg vazio >>> public function ver():void{ >>> if(dgTeste.rowCount==0){ >>> Alert.show("Vazio"); >>> } >>> } >>> ]]> >>> </fx:Script> >>> <mx:Canvas id="Menu" width="220" height="100%"> >>> <s:VGroup x="0" y="0" width="100%" height="100%"> >>> <mx:HRule width="100%" includeIn="Principal"/> >>> <mx:DataGrid width="100%" dataProvider="{dpCat}" height="88" >>> id="dgCategoria" change="carregaEstados()" height.Principal="100%" >>> height.Estados="100%" height.Regiao="100%" height.RegiaoHospital="100%" >>> height.Hospital="100%"> >>> <mx:columns> >>> <mx:DataGridColumn headerText="" dataField="hca_nome"/> >>> </mx:columns> >>> </mx:DataGrid> >>> <s:TextInput id="identificadorCat" >>> text="{dgCategoria.selectedItem.hca_id}" visible="true"/> >>> </s:VGroup> >>> </mx:Canvas> >>> <mx:Canvas id="Selecao" width="100%" height="100%" y="0" x="222"> >>> <s:RichText text="Escolha uma opção!" >>> id="lblOpcao" >>> fontSize="20" horizontalCenter="0" verticalCenter="0" >>> includeIn="Principal"/> >>> <s:TextInput includeIn="Estados" id="identificadorEst" >>> text="{dgEstados.selectedItem.hes_id}" bottom="0" left="0"/> >>> <mx:DataGrid includeIn="Estados" x="0" y="0" id="dgEstados" >>> change="verSePosuiRegiao()" dataProvider="{dpEstados}" width="100%" >>> height="93%"> >>> <mx:columns> >>> <mx:DataGridColumn headerText="" dataField="hes_nome"/> >>> </mx:columns> >>> </mx:DataGrid> >>> <s:RichText text="Estados" includeIn="Estados" bottom="10" >>> right="107"/> >>> <mx:DataGrid includeIn="Regiao" x="0" y="0" >>> change="carregarRegHospital()" dataProvider="{dpRegiao}" width="100%" >>> id="dgRegiao" height="93%"> >>> <mx:columns> >>> <mx:DataGridColumn headerText="" dataField="hre_nome"/> >>> </mx:columns> >>> </mx:DataGrid> >>> <s:TextInput includeIn="Regiao" id="identificadorReg" >>> text="{dgRegiao.selectedItem.hre_id}" bottom="0" left="22"/> >>> <s:Button includeIn="Estados" label="Voltar" right="5" bottom="2" >>> click="principal()"/> >>> <s:Button label="Voltar" right="5" bottom="2" includeIn="Hospital" >>> click="regiaoHospital()"/> >>> <s:Button label="Voltar" right="5" bottom="2" >>> includeIn="RegiaoHospital" click="regiao()"/> >>> <s:Button label="Voltar" right="5" bottom="2" includeIn="Regiao" >>> click="estados()"/> >>> <mx:DataGrid includeIn="RegiaoHospital" x="0" y="0" height="93%" >>> width="100%" id="dgRegiaoHospital" dataProvider="{dpRegiaoHospital}"> >>> <mx:columns> >>> <mx:DataGridColumn headerText="" dataField="hos_nome"/> >>> </mx:columns> >>> </mx:DataGrid> >>> <s:TextInput includeIn="RegiaoHospital" id="identificadorRegHosp" >>> text="{dgRegiaoHospital.selectedItem.hos_id}" bottom="0" left="5"/> >>> <mx:DataGrid includeIn="Hospital" x="0" y="0" >>> dataProvider="{dpHospital}" id="dgHospital" height="93%" width="100%"> >>> <mx:columns> >>> <mx:DataGridColumn headerText="" dataField="hos_nome"/> >>> </mx:columns> >>> </mx:DataGrid> >>> <s:RichText includeIn="Hospital" text="Hospital" right="106" >>> bottom="10"/> >>> <s:RichText text="Regiao Hospital" includeIn="RegiaoHospital" >>> right="81" bottom="10"/> >>> <s:RichText y="331" text="Regiao" includeIn="Regiao" right="112"/> >>> <mx:DataGrid includeIn="Principal" x="33" y="239" height="102" >>> id="dgTeste"> >>> <mx:columns> >>> <mx:DataGridColumn headerText="Column 1" dataField="col1"/> >>> <mx:DataGridColumn headerText="Column 2" dataField="col2"/> >>> <mx:DataGridColumn headerText="Column 3" dataField="col3"/> >>> </mx:columns> >>> </mx:DataGrid> >>> </mx:Canvas> >>> </flexmdi:MDIWindow> >>> >>> >>> Em 27 de abril de 2011 09:11, Guilherme Sjlender >>> <[email protected]>escreveu: >>> >>>> Antonio... desconfio que algo está errado! =P hehe >>>> >>>> Por favor, mande o código para que possamos analisar, ficará mais fácil >>>> de encontrar o problema e a solução! ^^ >>>> >>>> Até >>>> Att. >>>> Em 27 de abril de 2011 08:57, Antonio Pasqualli < >>>> [email protected]> escreveu: >>>> >>>>> Ola, >>>>> estou com uma dificuldade em tratar este erro, o meu datagrid não limpa >>>>> apos nova consulta >>>>> meu cenario >>>>> tenho uma aplicação com dois states e duas consultas >>>>> em uma delas o campo deve vir vazio se não houver dados e o segundo a >>>>> mesmo coisa, porem tenho dados no primeiro e não no segundo, quando clico >>>>> no >>>>> primeiro ele traz os dados, quando clico no segundo ele traz os dados do >>>>> primeiro, tambem testei clicando primeiro no segundo, ele vem vazio e >>>>> quando >>>>> clico no primeiro ele traz os dados e se clicar no segundo novamente ele >>>>> vem >>>>> com os dados do primeiro, para vir vario tenho que fechar a aplicação. >>>>> Então preciso saber como limpar meu data grid e como saber se esta >>>>> limpo digo se estiver vazio exibir um alert por exemplo ou duvido é como >>>>> dizer para o flex que este datagrid esta vazio >>>>> Obrigado pela ajuda! >>>>> >>>>> -- >>>>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >>>>> necessário também a ação" - William Shakespeare >>>>> >>>>> -- >>>>> 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 >>>> >>>> >>>> >>>> >>>> -- >>>> Guilherme Sjlender - http://www.gflex.biz/ >>>> ------------------------------------------------------------ >>>> Desenvolvedor Web - Flex3.5/Flex4.5/JavaEE >>>> Desenvolvedor Desktop - AIR/JavaSE >>>> Desenvolvedor Mobile - Android/JavaME/Flex4.5 >>>> ------------------------------------------------------------ >>>> >>>> -- >>>> 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 >>> >>> >>> >>> >>> -- >>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >>> necessário também a ação" - William Shakespeare >>> >>> -- >>> 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 >> >> >> >> >> -- >> >> William de Farias Lima >> *Desenvolvimento* >> FCM Sistemas >> >> Fone: (85) 3278.8215 >> [email protected] <[email protected]> >> www.fcmsistemas.com.br >> <http://www.grupofortes.com.br/> >> >> -- >> 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 >> > > > > -- > "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É > necessário também a ação" - William Shakespeare > > -- > 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 > -- Guilherme Sjlender - http://www.gflex.biz/ ------------------------------------------------------------ Desenvolvedor Web - Flex3.5/Flex4.5/JavaEE Desenvolvedor Desktop - AIR/JavaSE Desenvolvedor Mobile - Android/JavaME/Flex4.5 ------------------------------------------------------------ -- 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
