Un Listview

Páginas: 11 (2514 palabras) Publicado: 24 de abril de 2015
Aquí veremos, aunque sea de forma simple, cómo usar el control ListView, (en formato detalle o informe), pero espero que al menos te sirva de base para que investigues un poco más... y aprendas por tu cuenta, ya que, aunque no te lo creas, cuando investigas por tu cuenta aprendes un poco más que si todo te lo dan "hecho".
Espero que te sea de utilidad.
Sí, ya se que me he repetido con estecomentario... (si has visto la página del Treeview), pero es que es verdad.

Lo que veremos en este artículo (o ejemplo sobre el ListView), será:
Añadir elementos (items) al ListView
Sustituir el contenido de un elemento
Saber el elemento en el que el usuario ha hecho click
Saber el texto anterior y nuevo de un elemento cuando el usuario lo modifica
Buscar un elemento del ListView (en el texto o en lossubitems)
Clasificar según la columna en la que se ha pulsado (se tiene en cuenta si los datos son numéricos, de fecha, etc.)
Con respecto a lo de clasificar el contenido según la columna pulsada, he de aclararte que el ListView por defecto clasifica siempre como si fuesen cadenas, por tanto, si tenemos los números 10, 11, 20 y 100, el orden que le daría sería el siguiente: 10, 100, 11, 20. En elcódigo de este artículo, se clasificarán de forma correcta.
Lo mismo ocurrirá con las fechas, también se clasificarán bien.
Tal como comento en el propio código, en un principio iba a usar un código de la KB de Microsoft, en el cual se muestra cómo clasificar los elementos de un ListView (de tipo fecha), pero al final no lo he usado, por la sencilla razón de que el código es poco útil, al menossi queremos usarlo de forma genérica.
Ese código no sería válido, (salvo que hicieramos bastantes cambios y comparaciones), en el código aquí mostrado, en el cual se llena el ListView de dos formas distintas y con distinto número de columnas y además con los datos en columnas diferentes... me refiero a que pulsando en un botón se crean cuatro columnas, siendo la primera de tipo alfanumérico, lasegunda de tipo fecha, la tercera y cuarta de tipo numérico (uno con enteros y otro con decimales); mientras que pulsando otro botón se crean tres columnas, siendo la primera con datos de fechas, la segunda con datos alfanuméricos y la tercera con datos numéricos con decimales.
Como te decía, usando el sistema que yo he estado usando hasta ahora, se puede clasificar sin importar cuantas columnas hayy en que orden están los datos... sólo hay que seguir unas pequeñas normas, que por otro lado en el ejemplo de la KB también habría que seguir... me refiero a que hay que indicarle de alguna forma al programa qué tipo de datos contiene cada columna, para ello uso unas constantes, (las cuales puedes ampliar o modificar a tu gusto), cuyo valor se asigna al TAG de cada columna, para indicar el tipode datos que contiene.
También uso unas constantes para el formato que tendrán los datos, al menos si son datos de fechas o de moneda, para que indiques el que más te apetezca, cuando veas el código lo comprenderás mejor.
Primero te mostraré el aspecto del formulario y a continuación el código.
Al final hay un link al código completo de este ejemplo.
Hay que tener en cuenta que el control usado esel que se incluye con Visual Basic 6 (creo que instalado con el Service Pack 4), por tanto puede ser que necesites cambiarlo si no tienes el VB6. De hecho el que se incluye con el Visual Basic 5.0 es otro...
Este es el aspecto del formulario

Aspecto del formulario en tiempo de diseño
Este es el código de ejemplo:

'------------------------------------------------------------------------------
'Prueba de Listview (06/Oct/02)
' Este código puede servir para saber cómo realizar tareas comunes con un Listview
' El tipo de control usado es el incluido en:
' Microsoft Windows Common Controls 6.0 (SP4) (MsComCtl.ocx)
'
' Tenía previsto mostrar cómo clasificar las columnas usando API y
' llamadas Callback (con AddressOf), pero el ejemplo sólo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • listview
  • Listview

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS