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...


-- 
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