Da uma olhada aqui: http://softjed.com.br/blog/?p=45, veja se não é isso
que vc precisa.
Em 17/12/2010 19:09, Bruno Carneiro escreveu:
Cara, não sei como resolver seu problema. Acho que pelo que você
forneceu não é possível responder. Mas olha os toques...
On 17 dez, 11:22, Daniel_RMRS<[email protected]> wrote:
Tenho uma função que conta as linha preenchidas num grid e esse numero
vai para o for com um contador, para cada índice que é somando no
contador e pega 2 intens do grid
Você quer percorrer o dataProvider né? Provavelmente seu dp é um
ArrayCollection, né?
Então, existe um comando de repetição que existe justamente para isso.
Procure por "for each in"
var meuDP:ArrayCollection;;
....
for each ( var obj:Object in meuDP )
{
obj // essa variável receberá cada item do meuDP
}
na verdade é uma função de
update no banco,
Cara, sua função pode até funcionar. Eu nem sei como ela é mas posso
te garantir que não é a melhor maneira de fazer update.
Ela não tem nenhum parametro... deve pegar valores espalhados no
arquivo mxml que a contém e inserir no banco. Provavelmente deve pegar
os valores dos componentes de texto... acho que essa arquitetura
( forma de organizar seu programa ) não é boa.
Cada item do dataProvider é um objeto de um classe de mapeamento pra
outra classe do seu backend né? Eu costumo inserir na minha minha
classe que mapeia pro backend métodos para gravar, editar, excluir e
listar. E esse métodos pegam os valores dos seus próprios objetos.
( no seu caso seria: this.codprod e this.quantidade )
Juntando isso com o for each...
for each ( var obj:Object in meuDP )
{
obj.update() // esse método pega esse objeto e atualiza no
banco, usando o próprio id do objeto, e os valores do objeto
}
Mesmo assim, eu preferiria fazer o update no exato momento em que o
usuário mudar o valor na tela... não atualizaria primeiro só no
frontend e somente depois no banco.
Um professor meu de Análise e Projeto de Sistemas disse que essa
abordagem minha também não é boa, mas não disse como deveria ser
porque estávamos conversando por email, mas ele me indicou um livro
pra ler... (Fowler)
Enfim... é o melhor que eu posso sugerir.
meu problema é que se tem 3 linhas no grid, ele
atualiza uma só no banco ao invés de atualizar as 3.
Para você entender o motivo do seu loop não estar funcionado você
deveria rodar seu programa em modo debug, e monitorar os valores das
variáveis "i" e "tamanho". Você já fez isso? Se não souber como usar o
modo debug, da uma pesquisada no google. É fácil...
--
Julio - SoftJeD
http://softjed.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