..:: MX Studio Fóruns ::..: Calculo em "DataGrid" - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Calculo em "DataGrid" Calculo em área de um componente "DataGrid"

#1 User is offline   Nill Goterra 

  • Group: Membros
  • Posts: 43
  • Joined: 12-March 08

Posted 14 August 2008 - 05:46 PM

Olá pessoa, vamos criar a seguinte cituação:

Temos um componente DataGrd do flash, que recebe valores atravéz da ação:
CODE
meugrid.addItem

Formando assim uma lista com estes valores corre, este nosso grid tem duas colunas, Nome e Valor, sendo que na primeira coluna temos o nome de um produto e na segunda o valor do mesmo Exemplo:

Nome Valor
Camiseta Zeus 25.00

Imagine que nesta lista temos vários produtos certo, sendo assim as duas colunas estarão com várias linhas, como fazemos para "Somar" o total de uma dessas colunas, no caso a nossa coluna valor, de forma que depois colocariamos o total desta soma em um campo de texto.

Sintese: Obter a soma total de uma coloca de um componente dataGrid, e imprimir o mesmo em um campo de texto.

Só lembrando que os dados do componente não vem de uma banco de dados, pois se assim fosse, poderiamos obter este resultado consultado o banco de dados.

Bom, espero que alguém aqui do forun saiba como fazer isto, pois já perdí algumas horas de pesquisa e não obtive grandes resultados para fazer esta aplicação em "Flash", e já que não posso fazer este sistema em Flex, já que faz parte de um layout todo já composto em Flash.

Atenciosamente,

Nill Goterra

nillgoterra@e7even.com.br
0

#2 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 14 August 2008 - 11:47 PM

Ao adicionar um item ao DataGrid, você armazena o valor do produto em um variável que vai servir de total.

[]s
0

#3 User is offline   Nill Goterra 

  • Group: Membros
  • Posts: 43
  • Joined: 12-March 08

Posted 15 August 2008 - 12:16 AM

Compreendi sua linha de pensamento Natan, mais veja bem eu já havia pensado nisto e me deparei com o seguinte porém, imagine que eu não clique no BTN que irá dar o valor a variável, na hora em que eu for somar esta variável junto as outras como não tenho um valor definido o calculo não será realizado certo!

Mais este não é o problema certo, até por que eu poderia ao iniciar o filme dar o valor de "0" para a variável, o problema mesmo Natan é que eu preciso que dar a opção para o internauta "Excluir" algum item desta lista depois de ter selecionado, por exemplo: Se ele selecionar duas camisetas e uma calça, ele poderá excluir da nossa lista qualquer um dos itens, por isso que lhe preço de um calculo da coluna Valor do nosso datagrid, pois realizando o calculo da coluna posso definir uma função para que quando ele "Exclua" alguns dos itens da lista, seja refeito o calculo dos valores.

Bom, sei que é possível e por isso postei aqui.

Aguardo resposta amigão.

Grande abraço.

Atenciosamente,

Nill Goterra

nillgoterra@e7even.com.br
0

#4 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 15 August 2008 - 04:00 AM

Da para fazer como o Natan falou, se você armazenar os valores dentro de um Array você consegue manipula-los depois.

Dependendo do ítem que você deletar do seu dataGrid você deleta o mesmo "index" do Array.

Assim, se você deletar o ítem com index 0 do dataGrid você deleta o ítem de index 0 do Array.
Depois basta somar o valor dos ítens do Array.

De qualquer forma, posta as ações que você esta utilizando para remoção dos ítens do seu dataGrid.

Abração
0

#5 User is offline   Nill Goterra 

  • Group: Membros
  • Posts: 43
  • Joined: 12-March 08

Posted 15 August 2008 - 12:34 PM

Legal cara, essa é uma possível solução. Estou postando os códigos aqui blz.

É o seguinte, quando eu clico no botão "Inserir" de cada produto, este btn deixa visível uma tela onde eu irei especificar a quantidade que eu desejo deste produto, este btn também "Transporta" para esta tela os dados que estão em campos de texto do meu produto como nome e valor, veja só.

Ação do btn do bnt do produto 01:

CODE
on (release) {
// Deixo a minha caixa de conformação aonde eu coloca a quant visivel.
setProperty("informaquant", _visible, "1");
// Aqui eu envio as informações dos campos de texto do produto para a caixa de informação.
// Aqui Envio o nome do produto.
this.informaquant.nome.text = this.nome00Text.text;
// Aqui envio o valor do produto.
this.informaquant.valor.text = this.valor00Text.text;
}


Agora quando a pessoa clica neste nosso botão, irá ficar visível uma Movie onde aparecerá automaticamente o nome do produto que eu cliquei e o seu valor, nesta caixa eu irei obrigatóriamente informar a quantidade que eu desejo (Ela já carrega com a quantidade "1"), e clicar no botão ok, este botão por sua vez, calcula os fatores (Valor) * (Quant) e insere no dataGrid as seguinte informações: Nome do produto, Valor, Quant e Total. Lembrando que o nosso dataGrid está um nível acima do que a tela de confirmação, ou seja no mesmo nível que os btns para selecionar os produtos, por isso usamos _parent para subir um nível. Veja o código do botão.

CODE
on (release) {
// Aqui eu faço o calculo dos fatores Valor * Quantidade.
valortotal = Number(valor) * Number(quant);
// Aqui eu adiciono ao meu data grid os seguinte valores, Nome (Nome do produto), Valor (Valor unitário do protuto), Quant(Quantidade que o cliente escolheu) e Total(Soma dos fatores Quant * Valor).
_parent.pedidoList.addItem({Nome:[nome.text], Valor:[valor.text], Quant:[quant.text], Total:[valortotal]});
// Aqui eu deixo a caixa de informações invisível de novo.
setProperty("_parent.informaquant", _visible, "0");
}


Bom já estamos com as nossas informações dentro do dataGrid, são elas: Nome, Valor, Quant e Total. Temos abaixo do nosso dataGrid um Btn chamado "Excluir" aonde o cliente após selecionar um ítem do nosso Data pode clicar nele e Excluir este registro, neste mesmo momento preciso que seja feito o calculo de todos os totais.

Agora que já tem o código, se poder me ajudar me explicando para faremos para inserir os valores em um registro de uma array e depois excluir os ítens do dataGrid e junto o mesmo index na array.

Aguardo resposta.

Atenciosamente,

Nill Goterra
nillgoterra@e7even.com.br


0

#6 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 15 August 2008 - 07:25 PM

Então, faça assim.

A instância de seu dataGrid é "pedidoList" não é ?
Fiz como se fosse, qualquer coisa é só trocar.

Coloque a instância de seu botão "Excluir" de "botaoRemover".

E nele, o código abaixo:

CÓDIGO
botaoRemover.onRelease = function () {
var somaFinal:Number = 0;
for (i=0;i<pedidoList.length;i++) {
precoTotal = pedidoList.getItemAt(i).Total
somaFinal += precoTotal
if (i == pedidoList.length-1) {
trace ("Soma Final: "+somaFinal)
}}}


Explicando...

Ao clicarmos no "botaoRemover" você vai executar uma função que vai ficar se repetindo até que o número de elementos em seu dataGrid chegue ai final.
Essa função vai pegar o valor da coluna "Total" da primeira linha e soma-lo com a variável "somaFinal" que foi criada inicialmente com valor nulo.
Depois, pega o valor da coluna "Total" da segunda linha e soma também com a variável "somaFinal" que agora já tem o valor da primeira parcial.

O código se repete até que os elementos se esgotem, e a variável "somaFinal" vai sendo acrescentada com os valores da coluna "Total" de cada linha.

Ao chegar no final, exibimos um trace com o somatório.

Abraço !
0

#7 User is offline   Nill Goterra 

  • Group: Membros
  • Posts: 43
  • Joined: 12-March 08

Posted 16 August 2008 - 02:01 AM

Obrigado mesmo ubi, mais já havia conseguido finalizar o projeto, o Natan me deu uma força, mais de qualquer forma testei o seu código e ele também realiza o que queremos, então fica para quem tiver a mesma dúvida.
Grande abraço.

Atenciosamente,

Nill Goterra

nillgoterra@e7even.com.br
0

#8 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 16 August 2008 - 07:59 PM

thumbup.gif
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)