Para isso tem o método refresh() do ArrayCollection.
<mx:Datagrid dataProvider={meuArray} />
meuArray.refresh();
Com isso, ele "avisa" que a coleção foi alterada, forçando que todos os
componentes
que utilizam binding sejam atualizados.
[]s
Fábio
________________________________
De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de
Rogerio Gonzalez
Enviada em: segunda-feira, 2 de junho de 2008 17:42
Para: [email protected]
Assunto: [flexdev] Re: POG
Uma forma fácil(pog) de atualizar o datagrid é ressetar o dataprovider.
Claro, isso obriga o flex a renderizar novamente os dados, o que em alguns
casos não é muito bom...
Digamos que vc tem no mxml:
<mx:datagrid id="Teste" dataprovider="meuArray"/>
vc pode por na finalização do tratamento de retorno um:
Teste.dataprovider = meuArray
Abraços
Rogério Gonzalez
2008/5/31 Daniel Negri <[EMAIL PROTECTED]>:
Doutor eu sempre encontrava o mesmo problema... as pessoas
clicavam duas vezes no botão salvar e ao invez de incluir 1 registro novo
acabava incluindo dois, dando duplicidade de registros. Criei essa janela de
aguarde baseado em um exemplo ReviewTube que está de exemplo no site da Adobe,
com o detalhe é que pro showModal eu colocava sempre true pra bloquear mesmo a
tela. Minha janela de aguarde era o Tittle Window, logo tinha um botão close
nela, o que deixava o usuário fechar a janela também, isto porque quando dava
um problema no processo tudo ficava bloqueado eternamente daí o usuário tinha
que abrir novamente o aplicativo.
Sobre o datagrid, tenho vários problemas com o binding, eu mudo
um objeto e na tabela não mostra a modificação principalmente se houver um
labelFunction, aprendi que usando um método da própria datagrid dá resolver
legal... se não me engano basta chamar datagrid.executeBinding().
Estou longe do meu pc, por isso não estou com os códigos aqui
pra te passar. Não sei se entendi direito o seu problema.
Abraço,
-Daniel Negri
2008/5/31 Wagner Nascimento <[EMAIL PROTECTED]>:
Galera boa tarde,
estou fazendo um pequeno POG, porque ainda não achei
solução melhor, e
preciso entregar a implementacao esta semana. Tenho um
datagrid
editavel que grava os registros a partir de um loop
(POG) que faço,
conforme abaixo :
function LancaNota() : void {
btnSalvar.enabled = false;
abrirJanelaMsg();
GravaNota();
ShowAlunoTurma.send();
ShowAlunoTurma.send(); <----- Este POG é
para atualizar o
grid depois de passar pelo loop
}
function GravaNota(): void {
for (var i=0;i <
DgAlunoTurma.dataProvider.length;i++){
DgAlunoTurma.selectedIndex = i;
Edt_Nota.text =
DgAlunoTurma.selectedItem.nota_1_1b;
Edt_Falta.text =
DgAlunoTurma.selectedItem.faltas;
IncNota.send();
}
Preciso mostrar uma mensagem de AGUARDE para o usuario,
com isso criei
uma funcao AbrirJanelaMsg(), conforme
abaixo
rivate function abrirJanelaMsg():void
{
mensagem = new msg_aguarde();
PopUpManager.addPopUp(mensagem, this, true);
PopUpManager.centerPopUp(mensagem);
mensagem.addEventListener(CloseEvent.CLOSE,
function():void
{
PopUpManager.removePopUp(mensagem);
}
);
}
Pelo que entendi o Flex abre e fecha a janela na
primeira execucao de
IncNota.send(), com isso o envio dos dados continua
ocorrendo e a
janela já se fechou..
Alguem pode me ajudar ?
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---