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

Suma de registros en listview

Estas en el tema de Suma de registros en listview en el foro de .NET en Foros del Web. hola a todos estoy trabajando en visual basic 2008 en un listview estoy cargando datos, la idea es cargar datos y sumarlos a medida que ...
  #1 (permalink)  
Antiguo 05/04/2011, 08:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 0
Suma de registros en listview

hola a todos
estoy trabajando en visual basic 2008
en un listview estoy cargando datos, la idea es cargar datos y sumarlos a medida que voy insertando datos en una columna "Total"
Fecha Concepto Monto Total
12/05 Compras 100 100
13/05 Compras 200 300
13/05 Compras 150 450
y asi ir sumando de acuerdo a los montos
tengo esta rutina que me funciona para la primera fila pero a la segunda fila y siguientes no camina

Código:
Dim item As ListViewItem
        item = New ListViewItem(DateTimePicker1.Text)
        item.SubItems.Add(txtConcepto.Text)
        item.SubItems.Add(txtMonto.Text)
        If listControl.Items.Count = 0 Then
            item.SubItems.Add(txtMonto.Text)
        ElseIf listControl.Items.Count = 1 Then
            Dim Total As Double
            For i = 1 To listControl.Items.Count - 1
                Total = Total + listControl.Items(i).SubItems(2).Text
            Next

            item.SubItems.Add(Total)
        End If
        item.SubItems.Add(txtObservaciones.Text)
        listControl.Items.Add(item)
Espero puedan darme una mano chicos

Saludos
Carlos
  #2 (permalink)  
Antiguo 05/04/2011, 09:06
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 10 años, 6 meses
Puntos: 267
Respuesta: Suma de registros en listview

Hola carlosanpy pues ahi solo cuentas si la lista tiene solo 1 miembro o esta vacio pero no hace nada si tiene mas de 2 items, el codigo seria de esta manera :

Código vb.net:
Ver original
  1. Dim item As ListViewItem
  2.         item = New ListViewItem(DateTimePicker1.Text)
  3.         item.SubItems.Add(txtConcepto.Text)
  4.         item.SubItems.Add(txtMonto.Text)
  5.         If listControl.Items.Count = 0 Then
  6.             item.SubItems.Add(txtMonto.Text)
  7.         'Te falto decirle que si es mayor ó igual para que recorra todos los items
  8.         ElseIf listControl.Items.Count >= 1 Then
  9.             Dim Total As Double
  10.             For i = 1 To listControl.Items.Count - 1
  11.                 ' Y Convertir la cadena en Double para que sume correctamente
  12.                 Total = Total + Convert.toDouble(listControl.Items(i).SubItems(2).Text)
  13.             Next
  14.  
  15.             item.SubItems.Add(Total)
  16.         End If
  17.         item.SubItems.Add(txtObservaciones.Text)
  18.         listControl.Items.Add(item)
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 05/04/2011, 09:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Suma de registros en listview

Hola
gracias por tu respuesta

pero no suma, mas bien inserta el primer registro ej 100
pero en el segundo registro insertando de nuevo 100 el valor de la suma es 0, luego vuelve de nuevo a 100 y a partir de alli recien se visualiza 200
la secuencia de suma (ej. 100) resulta asi
100
0
100
200

alguna sugerencia?

Saludos
Carlos
  #4 (permalink)  
Antiguo 05/04/2011, 09:26
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 10 años, 6 meses
Puntos: 267
Respuesta: Suma de registros en listview

Podrias poner tu codigo completo para ver mejor el panorama...?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 05/04/2011, 09:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Suma de registros en listview

Código:
Private Sub btnSumar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSumar.Click
        Dim item As ListViewItem
        item = New ListViewItem(DateTimePicker1.Text)
        item.SubItems.Add(txtConcepto.Text)
        item.SubItems.Add(txtMonto.Text)
        If listControl.Items.Count = 0 Then
            item.SubItems.Add(txtMonto.Text)
            'Te falto decirle que si es mayor ó igual para que recorra todos los items
        ElseIf listControl.Items.Count >= 1 Then
            Dim Total As Double
            For i = 1 To listControl.Items.Count - 1
                ' Y Convertir la cadena en Double para que sume correctamente
                Total = Total + Convert.ToDouble(listControl.Items(i).SubItems(2).Text)
            Next

            item.SubItems.Add(Total)
        End If
        item.SubItems.Add(txtObservaciones.Text)
        listControl.Items.Add(item)

        
    End Sub
para el segundo registro
se intercepta en "For i = 1 To listControl.Items.Count - 1" pero pasa directo al next
  #6 (permalink)  
Antiguo 05/04/2011, 09:39
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 10 años, 6 meses
Puntos: 267
Respuesta: Suma de registros en listview

pasa directo porque tu "i" debe ser 0
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 05/04/2011, 10:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Suma de registros en listview

Si por eso es
Opciones?
  #8 (permalink)  
Antiguo 05/04/2011, 10:15
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 10 años, 6 meses
Puntos: 267
Respuesta: Suma de registros en listview

Opciones?... me referia a que debe de ser :

For i as Integer = 0 to listControl.Items.Count - 1
....
Next
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 05/04/2011, 11:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Suma de registros en listview

Bueno
Veo que me complico al santo botón

al final le agregue un label y en ella resumo la suma
el código quedó así

Código HTML:
Dim item As ListViewItem
    item = New ListViewItem(DateTimePicker1.Text)
    item.SubItems.Add(txtConcepto.Text)
    item.SubItems.Add(txtMonto.Text)
    item.SubItems.Add(txtObservaciones.Text)
    listControl.Items.Add(item)
Dim Total As Double
    For i = 0 To listControl.Items.Count - 1
         Total = Total + Convert.ToDouble(listControl.Items(i).SubItems(2).Text)
    Next
    lblTotal.Text = Total
Gracias por todo

Etiquetas: listview, registros, suma
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 20:15.