DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
CELIO ALCANTARA ARAUJO CANTALICE
 


País: Brasil
Estado: PB
Cidade: Puxinana
Mensagens: 5
 Postado em: 10/7/2012 06:12:23 PM

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:
#Código

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 ALCANTARA ARAUJO CANTALICE
 


País: Brasil
Estado: PB
Cidade: Puxinana
Mensagens: 5
 Postado em: 12/7/2012 05:59:41 PM

Poxa ninguém para dar uma luz aqui gente!
Joel Rodrigues
 
 

 


País: Brasil
Estado: RN
Cidade: Natal
Mensagens: 3133
 Postado em: 12/7/2012 07:50:55 PM

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
CELIO ALCANTARA ARAUJO CANTALICE
 


País: Brasil
Estado: PB
Cidade: Puxinana
Mensagens: 5
 Postado em: 12/7/2012 07:56:49 PM

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?

Deivison
 
 

 


País: Brasil
Estado: PE
Cidade: x
Mensagens: 483
 Postado em: 12/7/2012 08:41:42 PM

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

 


País: Brasil
Estado: PE
Cidade: x
Mensagens: 483
 Postado em: 12/7/2012 08:45:07 PM

Segue link com exemplo...

http://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!!
CELIO ALCANTARA ARAUJO CANTALICE
 


País: Brasil
Estado: PB
Cidade: Puxinana
Mensagens: 5
 Postado em: 13/7/2012 11:57:04 AM

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!
Valter Furtado
 


País: Brasil
Estado: ES
Cidade: Serra
Mensagens: 51
 Postado em: 13/7/2012 02:36:41 PM

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.
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03