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

Responder a