elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda con leer un Listview
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con leer un Listview  (Leído 3,680 veces)
abdiel2475

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Ayuda con leer un Listview
« en: 26 Diciembre 2011, 00:11 am »

Hola bueno nesesito ayuda para leer el subitem de un listview y que me diga cuantos hay entrados y cuantos salidos y el precio total:

flistview.TXTNumero.Text = a la cantidad de listitems que tengo en un listview
.ListItems(e).SubItems(12) = al dinero que han pagado
.ListItems(e).SubItems(14) = (Si/No) Si son los salidos/pagados y No los que han entrado

Este es un codigo de como Imprimir un listview al parecer el codigo funciona bien
pero al momento de que quiero sumar y darle valores a NewAdds, NewOuts, Cantidad...
me salen cosas que no. :/
NewAdds = los que an entrado (los que tienen "No")
NewsOuts = los que an pagado los que se van (los que tienen "Si")
CantidadGanada = al dinero que an pagado los que se van (NewsOuts)

Código:
Public Sub Imprimir_ListView(ListView As ListView)

On Error Resume Next

Dim i As Integer, AnchoCol As Single, Espacio As Integer, X As Integer
Dim e As Integer, e2 As Integer
  Dim NewsAdds As Integer, NewsOuts As Integer, CantidadGanada As Integer
  AnchoCol = 0
  NewsAdds = 0
  NewsOuts = 0
  CantidadGanada = 0
  'Recorremos desde la primer columna hasta la última para almacenar el ancho total
  For i = 1 To ListView.ColumnHeaders.Count
     AnchoCol = AnchoCol + ListView.ColumnHeaders(i).Width
  Next
 
  Espacio = 0
 
 With ListView
   
  'Encabezado de ejemplo
  Printer.Print "Reporte Diario"
   Printer.Print "Del dia: " & Date
 
  Printer.Print
 
  'Imprime una línea
  Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
 
 
  'Acá se imprimen los encabezados del ListView
  For i = 1 To .ColumnHeaders.Count
      Espacio = Espacio + CInt(.ColumnHeaders(i).Width * Printer.ScaleWidth / AnchoCol)
      Printer.Print ListView.ColumnHeaders(i).Text;
      Printer.CurrentX = Espacio
     
  Next
 

  Printer.Print
 
  'Imprime una línea
  Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
 
  'Imprime Línea en blanco
  Printer.Print
 
  'Este bucle recorre los items y subitems del ListView  y los imprime
  For i = 1 To .ListItems.Count
       Espacio = 0
       
       Set Item = .ListItems(i)
       Printer.Print Item.Text;
       'Recorremos las columnas
       For X = 1 To .ColumnHeaders.Count - 1
             Espacio = Espacio + CInt(.ColumnHeaders(X).Width * Printer.ScaleWidth / AnchoCol)
             Printer.CurrentX = Espacio
             Printer.Print Item.SubItems(X);
       Next
       
       'Otro espacio en blanco
       Printer.Print
  Next
 
  For e = 1 To flistview.TXTNumero.Text
     CantidadGanada = CantidadGanada + .ListItems(e).SubItems(12)
      If .ListItems(e).SubItems(14) = "Si" Then
      NewsOuts = NewsOuts + 1
      Else
            NewsAdds = NewsAdds + 1
      End If
     
  Next

 
  Printer.Print
  'Imprime la línea de final de impresión
  Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
  Printer.Print
  'Texto del pie
  Printer.Print "Ingresados: " & NewsAdds
  Printer.Print "Salidos: " & NewsOuts
  Printer.Print "Total de dinero: " & CantidadGanada
    End With
  'Comenzamos la impresión
  Printer.EndDoc
End Sub


De antemano muchas gracias
Y Feliz Navidad!


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda con leer un Listview
« Respuesta #1 en: 26 Diciembre 2011, 15:37 pm »

No entiendo donde esta el problema, con unas variables, un bucle para recorrer los items, y un par de If para saber cuales van y cuales no serian la solucion :P


En línea

abdiel2475

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Ayuda con leer un Listview
« Respuesta #2 en: 26 Diciembre 2011, 16:18 pm »

Todo jala bien exepto

Código:
  For e = 1 To flistview.TXTNumero.Text 
     CantidadGanada = CantidadGanada + .ListItems(e).SubItems(12)
      If .ListItems(e).SubItems(14) = "Si" Then
      NewsOuts = NewsOuts + 1
      Else
            NewsAdds = NewsAdds + 1
      End If
     
  Next

 

Ya que si en el listview hay nadamas 6 "lineas se podria decir" y el TxTNumero = 50
me da resultados de 40+ :/ osea como que sige contando o no se pasa :/ alguna solucion para indentificar bien , algo mas exacto o presiso
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda con leer un Listview
« Respuesta #3 en: 26 Diciembre 2011, 20:26 pm »

Resetea el contador antes del for, y como esta declarada la variable? Los numeros pueden ser con coma no? :P
En línea

abdiel2475

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Ayuda con leer un Listview
« Respuesta #4 en: 26 Diciembre 2011, 22:03 pm »

si ya los tenia reseteados
Código:
  Dim NewsAdds As Integer, NewsOuts As Integer, CantidadGanada As Integer
  AnchoCol = 0
  NewsAdds = 0
  NewsOuts = 0

pero ni asi :(

pff alguna otra idea o manera
En línea

abdiel2475

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Ayuda con leer un Listview
« Respuesta #5 en: 27 Diciembre 2011, 02:00 am »

Bueno al parecer ya lo resolvi con un metodo un poco mediaval pero :) al final da el resultado esperado.

Código
  1. With ListView4
  2.     Dim Idx As Long
  3.     For e = 1 To flistview.TXTNumero.Text - 1
  4.     If .ListItems(e).SubItems(14) = "Si" Then
  5.        .ListItems(e).Selected = True
  6.          CantidadGanada = CantidadGanada + .ListItems(e).SubItems(12)
  7.          NewsOuts = NewsOuts + 1
  8.     Else
  9.          NewsAdds = NewsAdds + 1
  10.     End If
  11.     Go1 = Go1 + 1
  12.     If Go1 = .ListItems.Count Then
  13.          GoTo Msgs
  14.     End If
  15.     Next e
  16. End With
  17.  
  18. Msgs:
  19. MsgBox ("Ingresados: " & NewsAdds)
  20. MsgBox "Salidos: " & NewsOuts
  21. MsgBox "Total de dinero: " & CantidadGanada
Gracias.
« Última modificación: 28 Diciembre 2011, 16:31 pm por raul338 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda listview
Programación Visual Basic
josemer 0 1,247 Último mensaje 15 Febrero 2006, 23:33 pm
por josemer
Listview ayuda plz...
Programación Visual Basic
visualfree 2 2,387 Último mensaje 6 Noviembre 2006, 16:26 pm
por CeLaYa
Ayuda con ordenar un listview
Programación Visual Basic
gouki86 0 1,733 Último mensaje 3 Octubre 2007, 19:45 pm
por gouki86
[Ayuda]ListView no responde no detecta pulsaciones
Java
PabloPbl 0 1,466 Último mensaje 10 Marzo 2017, 23:38 pm
por PabloPbl
Ayuda con ListView
.NET (C#, VB.NET, ASP)
bybaal 3 2,312 Último mensaje 2 Abril 2017, 09:25 am
por okik
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines