Vamos a crear en visual basic .net una vista de un directorio en un ListView, muy similar a como lo vemos en el explorador de windows.
Para ello solo necesitamos un formulario y un listview.
Como se muestra en la siguiente imagen, debemos agregar las columnas al listview. Ellas son: Nombre, Tamaño, Fecha creación, Fecha modificación y Ultimo acceso.
Para leer la información del directorio usaremos la instrucción DirectoryInfo contenida en el espacio de nombre System.IO por lo que tenemos que hacer un import como se muestrá abajo.
imports System.IO
Luego en el evento Load del formulario copiamos el siguiente código:
Dim d As New DirectoryInfo("C:\Windows")
ListView1.View = View.Details
ListView1.FullRowSelect = True
ListView1.BeginUpdate()
ListView1.Items.Clear()
For Each f As FileInfo In d.GetFiles
Dim item As New ListViewItem(f.Name)
item.SubItems.Add(f.Length)
item.SubItems.Add(f.CreationTime)
item.SubItems.Add(f.LastWriteTime)
item.SubItems.Add(f.LastAccessTime)
ListView1.Items.Add(item)
Next
ListView1.EndUpdate()
El código es muy sencillo, por lo que no haré demasiadas aclaraciones… pero si tienes alguna duda solo debes comentar y dentro de mis posibilidades te estaré contestando.
Información Bitacoras.com…
Valora en Bitacoras.com: Vamos a crear en visual basic .net una vista de un directorio en un ListView, muy similar a como lo vemos en el explorador de windows. Para ello solo necesitamos un formulario y un listview. Como se muestra en la siguiente im…..
[...] como base el ejemplo anterior, veremos como podemos en, visual basic .net, ordenar los datos del listview por alguna de sus [...]
Y como lo ordenas por alguno de los campos fecha en forma descendente por ejemplo Fecha Creación.
Gracias y saludos.
Mira el siguiente post: http://www.solovb.net/index.php/2009/03/18/ordenar-datos-en-un-listview/
hola
tengo unas dudas
- que archivos abrió de la carpeta de windows
- y si podrías subir el código de llenar un listview con información de una base de datos
muchas gracias por la atención prestada y si puedes colaborar me
Me fue de mucha ayuda, Gracias
Muchas gracias me sirvio de mucho
de nada!!! gracias por comentar!
Y para los Subdirectorios como seria ?
tendrías que investigar y estudiar un poquito la clase DirectoryInfo
Te recomiendo este link: http://msdn.microsoft.com/es-ar/library/system.io.directoryinfo.aspx
Suerte
disculpa ami me sale el sgt error
Error 1 Error de resolución de sobrecarga porque ninguna de las funciones ‘Add’ a las que se tiene acceso se puede llamar con estos argumentos:
‘Public Function Add(text As String) As System.Windows.Forms.ListViewItem.ListViewSubItem’: Option Strict On no permite la conversión implícita de ‘Long’ en ‘String’.
‘Public Function Add(item As System.Windows.Forms.ListViewItem.ListViewSubItem) As System.Windows.Forms.ListViewItem.ListViewSubItem’: Un valor de tipo ‘Long’ no se puede convertir en ‘System.Windows.Forms.ListViewItem.ListViewSubItem’.
que versión del framework estas usando?
puede que con alguna versión anterior no lo puedas hacer en una sola linea.
Programando para Compact Framework me pasaba algo parecido y tenía que descomponer este tipo de ordenes en varias lineas.
Prueba hacer eso y estoy seguro que lo resolverás.
Suerte
Me gustaria saber como adicionar los elementos con los iconos.
hola
he utilizado el codigo pero tengo un problema de ordenamiento
necesito ordenar por fecha de creacion
(CreationTime) he probado con tu codigo y he creado el modulo para ordenar pero no me funciona. ejem
si tengo datos del 01/03/2011 al 03/05/2011 de fecha de creacion el ordenamiento se mescla
lo que se requiere es que ordene por fecha y el tiempo de creacion que aparece
ejemplo
repor01 01/03/2011 16:50:21
repor02 01/03/2011 16:52:11
repor03 01/04/2011 15:01:16
repor04 02/03/2011 20:02:20
de forma ascendente
ojala me puedas responder gracias
Hola,
Estoy intentando incorporar a mi proyecto, el ejemplo que citas en el post.
El tema es que me da errores de todo tipo.
Podras enviarme el proyecto en VB para ver el codigo?
Aguardo tu respuesta.
este codigo es para utilizar en visual basic .net, preferentemente de la versión del microsoft framework 2.0 en adelante.
Hola sabes q estuve viendo tu codigo y no puedo hacerlo funcionar hice los pasos q salen hay y no me resulta solo q yo quiero mostrar solo archivos txt desde ya muchas gracias
amigo es muy bueno el código a mi me funciona a la perfección.
El problema es que se pone muy lento al consultar la carpeta por ejemplo si tengo 20 archivos la consulta es muy rapida, pero si cuento con 200 a más archivos se demora una eternidad para abrir el contenedor.
Si tuvieras algún código para compaginar el ListView o que el la sentencia :
For Each f As FileInfo In d.GetFiles
Dim item As New ListViewItem(f.Name)
item.SubItems.Add(f.Length)
item.SubItems.Add(f.CreationTime)
item.SubItems.Add(f.LastWriteTime)
item.SubItems.Add(f.LastAccessTime)
ListView1.Items.Add(item)
Next
sea mas rápida lo agradecería mucho