Somar valores depois de um grid atualizado

10/07/2012

0

Salve pessoal,

Sou iniciante em vb.net e de cara me deparei com a seguinte situação:

Preciso dentro de um Grid marcar os checkboxes dos ítems que desejo pagar, dai ao clicar no botão pagar tenho que atualizar o BD(Mysql). a rotina para capturar a id de cada registro eu sei e até a de salvar as alterações em BD mas o problema é que sei fazer isso para um registro apenas e nesse caso serão vários. Ah tudo bem é só colocar a rotina de update do BD num For, certo mas depois preciso somar estes pagamentos e gerar recibo para o mesmo e é ai que me enrolo alguém pode me ajudar?

Do meu entendimento teria que gravar essas ID recuperadas pelo for abaixo:
For i As Integer = 0 To dvgDoacoes.Rows.Count - 1
            If Not IsDBNull(dvgDoacoes.Rows(i).Cells(4).Value) Then
              dvgDoacoes.CurrentRow.Cells(0).Value.ToString
                rotina de pagamento
            End If
        Next

e inseri-las num array para apos a execução da inserção usar o split para quebrar esse array de Id e somar os valores , mas como fazer isso não sei!

Se estiver errado ou alguem conheça outra forma de fazer isso compartilha ae! eu agradeço muito.

vlw.
Celio Cantalice

Celio Cantalice

Responder

Posts

12/07/2012

Celio Cantalice

Poxa ninguém para dar uma luz aqui gente!
Responder

12/07/2012

Joel Rodrigues

Amigo, eu não programo em VB.NET, mas acho que você vai ter que fazer o seguinte: ler todas as linhas do DataGridView e verificar se o checkbox está marcado para cada linha. Caso esteja, você pega o valor desta linha. Veja se este tópico pode lhe ajudar: http://forums.asp.net/p/1554086/3817001.aspx
Responder

12/07/2012

Celio Cantalice

mas eu ja pego o valor de cada linha com o for colocado no codigo acima o problema é que ao atualizar o BD, preciso somar os valores das linhas que estao recebendo baixas(foram selecionadas) e gerar um recibo com isso! ai é que esta o problema porque a cada linha lida seria realizada a baixa mas e depois para somar os valores baixados?

Responder

12/07/2012

Deivison Melo

Boa noite,

Porquê não já faz isso no SQL e apenas faz a leitura dos dados e os exibi no grid de forma normal?

Espero ter ajudado!!!
Responder

12/07/2012

Deivison Melo

Segue link com exemplo...

https://www.devmedia.com.br/datagrid-com-somatorio-no-rodape-parte-i/1855

PS. O exemplo não é em C#, é em VB.NET, mas imagino que seja simples adaptar seguindo a mesma idéia.

Espero ter ajudado!!
Responder

13/07/2012

Celio Cantalice

blz, vou tentar aqui e ver se dá certo. Eu realmente queria fazer isso na SQL(Uso o mysql) o problema em fazer isso é que como uso for para verificar as linhas marcadas a cada passada do for seria feita uma nova chamada da Store procedure e então a cada chamada apenas uma ID estaria sendo passada dai a dificuldade de fazer a soma.

vou tentar a tarde posto o resultado...

vlw!
Responder

13/07/2012

Valter Furtado

Se você já tem a lista dos IDs, por que não cria um objeto ...
ID
Valor

Daí vc vai ter uma lista de objeto<ID,Valor>, vai fazer o foreach nessa lista inserindo no banco e somando os valores...
List<objeto> lst = listapreenchida;
tipo...
double dValor = lstFrm.Where(w => w.Valor != null).Sum(ww => ww.Valor);

acho que assim você teria o valor total pago.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar