Salve galera!!!
Galera, seguinte, quando mando buscar qualquer coisa no banco e mostrar nos componentes do flex esta desenhando primeiro a tela no flex, ai depois que mostra os resultados.
Por exemplo: Vou povoar o meu grid. Quando aciono o botao “buscar todos os registros” é mostrado primeiro o meu grid vazio e passado alguns segundos os dados são mostrados.
Como que eu faço um “wait” para esses casos, mostrar o meu grid somente depois que os dados estiverem preenchidos?
Se alguem tiver uma ideia, por exemplo, mudar o cursor do mouse, essas coisas, pois preciso passar para o usuario que os dados estao sendo carregados e que o sistema não travou.
Att
vcsmetallica
Você pode exibir o showBusyCursor (pode customizá-lo) ou então tem esse componente http://blog.dclick.com.br/2010/10/22/servicefeedback-e-o-fim-do-showbusycursor/pt/
Ai fudeu!!!
O endereço que foi passado é so para flex 4. Eu ainda uso o flex 3.
Snif snif!!!
se vc procurar existe para o flex 3 tb.
tem como fazer,
quanto a mostrar o datagrid depois.
o flex tem uma coisa que difere do java muito importante
ele é assincrono,
ou seja ele não espera determinada ação, para executar outra,
ela vai executando,
a não ser que vc programa, qndo determinado evento acontecer, ai sim, faça algo.
uma pergunta,
vc
está trazendo os dados de onde?
de um xml, ou de um banco?:
vc está usando alguma linguagem para back??
abçs
um exemplo tem outros cursores junto
mas o busy ta ai tb.
[code]?xml version=“1.0” encoding=“utf-8”?>
<mx:Application xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“vertical” verticalAlign=“middle"
horizontalAlign=“center” backgroundGradientColors=”[0x000000,0x323232]" viewSourceURL=“srcview/index.html”>
mx:Script
<![CDATA[
import mx.controls.Button;
import mx.managers.CursorManager;
import flash.events.*;
private var cursorID:Number = 0;
// Embed the cursor symbol.
[Embed(source="aircursor.png")]
private var waitCursorSymbol:Class;
private function setCursor(cursorType:String):void
{
if (cursorType == "normal") {
CursorManager.removeAllCursors();
CursorManager.removeBusyCursor();
} else if (cursorType == "busy") {
CursorManager.removeAllCursors();
CursorManager.setBusyCursor();
} else if (cursorType == "custom") {
CursorManager.removeAllCursors();
cursorID = CursorManager.setCursor(waitCursorSymbol);
}
}
]]>
</mx:Script>
<mx:Button label="Normal Cursor" color="white" textRollOverColor="white" click="setCursor('normal')"/>
<mx:Button label="Default Busy Cursor" color="white" textRollOverColor="white" click="setCursor('busy')"/>
<mx:Button label="Custom Busy Cursor" color="white" textRollOverColor="white" click="setCursor('custom')"/>
</mx:Application>[/code]
[quote=vitoryudi]
se vc procurar existe para o flex 3 tb.
tem como fazer,
quanto a mostrar o datagrid depois.
o flex tem uma coisa que difere do java muito importante
ele é assincrono,
ou seja ele não espera determinada ação, para executar outra,
ela vai executando,
a não ser que vc programa, qndo determinado evento acontecer, ai sim, faça algo.
uma pergunta,
vc
está trazendo os dados de onde?
de um xml, ou de um banco?:
vc está usando alguma linguagem para back??
abçs[/quote]
Estou buscando os dados de um banco de dados, mysql. Estou usando Java com BlazeDS.
Att
vitoryudi;
Vou testar o codigo que vc postou.
Obrigado pela ajuda.
Att
certo,
vc está usando remoteObject?
pq ele fica com o cursor de relogio enquanto traz as informações do banco.
no result do remoteObject
se vc colocar isso aqui
showBusyCursor=“true”
ai ficaria assim
<mx:RemoteObject id="NomeRO" showBusyCursor="true" destination="Destino" endpoint="http://{Application.application.servidor}/{Application.application.nomeProjeto}/messagebroker/amf">
<mx:method name="excluir" result="onResultExcluir(event);" fault="onFault(event);"/>
<mx:method name="encerrar" result="onResultEncerrar(event);" fault="onFault(event);"/>
</mx:RemoteObject>
é bem mais facil utilizar assim!
espero ter ajduado!
abçs