Se não for impactar muito no seu código muda os teus providers para
ArrayCollection (melhor para mater) e no ResultEvent usa assim:
private function metodoResult(evento: ResultEvent): void {
teuProvider = new ArrayCollection(evento.result.data as Array);
}
Valeu!
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/>
>
--
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