Foros del Web » Programación para mayores de 30 ;) » .NET »

Suma grid segun filtro

Estas en el tema de Suma grid segun filtro en el foro de .NET en Foros del Web. Hola amigos, desde mi habitación de hotel dónde paso unos días de vacaciones debo tratar de aparcar a mis hijos para programar...así es que me ...
  #1 (permalink)  
Antiguo 19/04/2011, 14:34
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Suma grid segun filtro

Hola amigos, desde mi habitación de hotel dónde paso unos días de vacaciones debo tratar de aparcar a mis hijos para programar...así es que me encuentro con un problema, tengo un datagridview...fácil..en el cargo los datos que yo deseo a través de un datetimepicker...y luego hago una suma la cual la hago reflejar en un textbox que tengo...la suma es la multiplicación de dos campos...hasta ahí todo bien...PERO tengo un campo TARJETA CREDITO que está en algunas celdas de la columna denominada ("NombreFormaPago")...y necesito que no me tenga en cuenta esas celdas...alguna ayuda?¿?, este es mi código;


Dim total As Decimal = 0

For Each row As DataGridViewRow In DgTotales.Rows
total = CDec(total + Val(row.Cells(1).Value) * Val(row.Cells(2).Value))
Next

conexion.Open()

Textgrantotal.Text = CStr(total.ToString("#,##0.00"))
conexion.Close()

HOLA SUPER AQUAAAA
  #2 (permalink)  
Antiguo 19/04/2011, 14:43
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 1 mes
Puntos: 37
Respuesta: Suma grid segun filtro

Asi como estas recorriendo los rows puedes verificar si el Row que estas realizando la operación es de cierto tipo de pago y lo descartas.
__________________
http://ka0stj.wordpress.com/
  #3 (permalink)  
Antiguo 19/04/2011, 14:44
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

Hola Guille! Provecho con esas vacaciones..!! yo las necesito urgente bueno... No entiendo la parte que mencionas
Cita:
PERO tengo un campo TARJETA CREDITO que está en algunas celdas de la columna denominada ("NombreFormaPago")...
explicate un poco mejor para poder ayudarte. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #4 (permalink)  
Antiguo 19/04/2011, 14:50
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

que rapidez...gracias por responder tan rápido, bueno pos me explico mejor
datagridview que tiene
columna cantidad, columna euros y columna nombreformapago....bien
en nombreformapago aparece TARJETA CREDITO Y EFECTIVO...y otras más...vale quier que sume todas menos las que ponen TARJETA CREDITO...
a ver si me expliqué bien ahora...

SOLICITO URGENTE DEJEN A SUPER AQUAAAA IRSE DE VACACIONES A ESPAÑAAAAAA..ESTA INVITAO A MI CASA jejeje :))
  #5 (permalink)  
Antiguo 19/04/2011, 14:52
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

AMIGO ka0stj...tu respuesta me deja igual, es que no se como poder hacerlo tal cual lo tengo hecho ahora...no se hacer el filtro estoy acostumbrado a utilizar sentencias sql para todo y así me hago un lío
  #6 (permalink)  
Antiguo 19/04/2011, 14:52
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 1 mes
Puntos: 37
Respuesta: Suma grid segun filtro

jajaja todo tuyo pues Aquaventus
__________________
http://ka0stj.wordpress.com/
  #7 (permalink)  
Antiguo 19/04/2011, 14:56
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

jajaja gracias Ka0stj nunca cambias ¬¬ jajaja
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 19/04/2011, 15:01
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

Bien guille en tu iteracion del For deberias hacer un If como este :
Código vb.net:
Ver original
  1. For Each row As DataGridViewRow In DataGridView1.Rows
  2.             'Aqui filtras que solo sumaras aquellos campos que se llamen EFECTIVO
  3.             If row.Cells("NombreFormaPago").Value.Equals("EFECTIVO") Then
  4.                 total = CDec(total + Val(row.Cells(1).Value) * Val(row.Cells(2).Value))
  5.             End If
  6.  
  7.         Next

Espero haberte ayudado. Saludos! .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 19/04/2011, 15:04
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

algo no explique bien....los campos son EFECTIVO....Y otros nombres, por lo cual esto no me vale, yo ya lo había hecho...más bien el tema es poder decirle <> de TARJETA CREDITO pero no se hacerlooooooooooo¡¡¡
gracias por la rápidez super aqua.....DE MAYOR QUIERO SER COMO TU...JAJAJAJAJAJA
  #10 (permalink)  
Antiguo 19/04/2011, 15:10
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

entonces seria asi :

Código vb.net:
Ver original
  1. For Each row As DataGridViewRow In DataGridView1.Rows
  2.             'Aqui filtras que solo sumaras aquellos campos que NO se llamen "TARJETA CREDITO"
  3.             If Not row.Cells("NombreFormaPago").Value.Equals("TARJETA CREDITO") Then
  4.                 total = CDec(total + Val(row.Cells(1).Value) * Val(row.Cells(2).Value))
  5.             End If
  6.         Next
Espero haberte ayudado. Saludos! .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #11 (permalink)  
Antiguo 19/04/2011, 15:12
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

TU SIEMPRE AYUDAS AQUA...algún día yo te ayudaré a ti...seguro....hablaremos pronto...el lunes estoy de vuelta amigo....voy a probarlo gracias como siempre eres el mejor.....ABRAZOSSS
  #12 (permalink)  
Antiguo 19/04/2011, 15:17
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

Gracias!. Lo pruebas y me comentas. Saludos!
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #13 (permalink)  
Antiguo 20/04/2011, 01:59
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

Column named NombreFormaPago cannot be found.
Parameter name: columnName

por qué me da este error?, super aqua esto es la pera...aquí pasan cosas raras...en mi tierra se dice que hay meigas....TRADUCCIÓN hay brujas...ABRAZOS
  #14 (permalink)  
Antiguo 20/04/2011, 09:01
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

prueba donde dice "nombreformapago" pone el indice de la columna.
Código vb.net:
Ver original
  1. For Each row As DataGridViewRow In DataGridView1.Rows
  2.             'Aqui filtras que solo sumaras aquellos campos que NO se llamen "TARJETA CREDITO"
  3.             'Donde X es el indice de la columna
  4.             If Not row.Cells(X).Value.Equals("TARJETA CREDITO") Then
  5.                 total = CDec(total + Val(row.Cells(1).Value) * Val(row.Cells(2).Value))
  6.             End If
  7.         Next
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #15 (permalink)  
Antiguo 21/04/2011, 04:34
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

si lo he hecho pero entonces me dice que el index no es correcto, es extraño todavía sigo entre excursión y excursión viendolo...que cosas más raras
  #16 (permalink)  
Antiguo 21/04/2011, 04:35
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

Object reference not set to an instance of an object.
ese es exactamente el error al poner el indice que es (4)
  #17 (permalink)  
Antiguo 21/04/2011, 04:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

y este error si hago
row = new row datagridviewrow

jaja, nada no se como hacer
  #18 (permalink)  
Antiguo 23/04/2011, 06:07
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

Dim total As Decimal = 0

For Each row As DataGridViewRow In DgTotales.Rows
If CBool(Val(row.Cells(4).Value.Equals("TARJETA CREDITO").ToString)) Then
total = CDec(total + Val(row.Cells(1).Value) * Val(row.Cells(2).Value))
'carga el textbox con el total de lo vendido en el periodo seleccionado
LbTarTotal.Text = CStr(total.ToString("#,##0.00"))
End If
Next

Y ASI TAMPOCO VAAA
  #19 (permalink)  
Antiguo 23/04/2011, 07:02
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

Object reference not set to an instance of an object.
alguien sabe que quiere decir este error?
  #20 (permalink)  
Antiguo 23/04/2011, 07:36
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

For Each r As DataGridViewRow In DgTotales.Rows
If r.Cells(5).Value Is ("TARJETA CREDITO") Then
r.DefaultCellStyle.BackColor = Color.Crimson
End If
Next

esto no me da error pero tampoco hace nada...arrjjjj, me voy a coger el teclado y le voy a quitar la v y la b de vb net....arrrjjjj
  #21 (permalink)  
Antiguo 23/04/2011, 09:02
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

nadie?, no me pueden ayudar?, no hay nadie en el foro web? (
  #22 (permalink)  
Antiguo 24/04/2011, 08:20
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Suma grid segun filtro

SOLUCIONADO¡¡¡, lo pongo por si a alguien le interesa, soy un crack...jejeje

Public Sub sumatotal8()
Dim total As Decimal = 0
For Each row As DataGridViewRow In DgTotales.Rows
If row.Cells(4).Value IsNot Nothing Then
If row.Cells(6).Value IsNot Nothing Then
Dim iva As String = CType(row.Cells(6).Value, String)
If iva = "8" Then
End If
End If
Dim s As String = CType(row.Cells(4).Value, String)
DgTotales.Columns.Item("NombreFormaPago").DefaultC ellStyle.ForeColor = Color.Peru
If s <> "TARJETA CREDITO" Then
total = CDec(total + Val(row.Cells(1).Value) * Val(row.Cells(2).Value))
LbEfe8.Text = CStr(total.ToString("#,##0.00€"))
End If
End If
Next
  #23 (permalink)  
Antiguo 25/04/2011, 07:46
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 9 meses
Puntos: 267
Respuesta: Suma grid segun filtro

Excelente guille! Mis Disculpas por no entrar a tiempo al foro, pero tenia obras sociales que realizar en esta semana santa, motivo por el cual no tuve acceso a algun ordenador para poder ayudaros, Saludos a ti a tu familia! Exitos hermano! .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: grid, suma, filtros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:00.