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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar