Somar valores depois de um grid atualizado
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:
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.
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
Curtidas 0
Respostas
Celio Cantalice
10/07/2012
Poxa ninguém para dar uma luz aqui gente!
GOSTEI 0
Joel Rodrigues
10/07/2012
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
GOSTEI 0
Celio Cantalice
10/07/2012
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?
GOSTEI 0
Deivison Melo
10/07/2012
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!!!
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!!!
GOSTEI 0
Deivison Melo
10/07/2012
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!!
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!!
GOSTEI 0
Celio Cantalice
10/07/2012
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!
vou tentar a tarde posto o resultado...
vlw!
GOSTEI 0
Valter Furtado
10/07/2012
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.
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.
GOSTEI 0