Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/02/2010, 11:24
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: problemilla con listview

Vamos a hacer una pequeña pulida.
Como te dije, todos los objetos que van en cada línea de un ListView son en realidad Strings, y como tales los tienes que poner.
Pero además, cuando creas el ListViewItem, en realidad estás creando también el primer Subitem. Los demás dependen de él. Por eso, que vuelvas a poner el SubItem(0) es redundante.
Por otra parte, el problema de formato de fecha es un tema de regionalización de la PC (administrado por el Namespace System.Globalization), y del tipo de dato usado. En mi experiencia, es mejor indicar el formato manualmente para evitar errores, por ello esto funcionaría bien:

Código vb.net:
Ver original
  1. '%%%%%%%%%%%%%%%%%%%%%
  2.         'Relleno el ListView de medidas
  3.         'llenamos el ListView con las medidas
  4.         '%%%%%%%%%%%%%%%%%%%%%
  5.  
  6.         ' Propiedades del ListView  
  7.         With lvInicioMedidas
  8.             .Items.Clear()
  9.             .Columns.Clear()
  10.             .View = View.Details
  11.             .GridLines = True
  12.             .FullRowSelect = True
  13.             ' añadir los nombres de columnas  
  14.             For c As Integer = 2 To TablaMedidas.Columns.Count - 1
  15.                 .Columns.Add(TablaMedidas.Columns(c).Caption, 70, HorizontalAlignment.Center)
  16.             Next
  17.         End With
  18.  
  19.         ' Añadir los registros de la tabla  
  20.         Dim fila As New ListViewItem()
  21.         Dim col1 As String
  22.         With TablaMedidas
  23.             For f As Integer = 0 To .Rows.Count - 1
  24.                 'declaro la llamada a la columna uno
  25.                 col1 = Convert.ToDateTime(TablaMedidas.Rows(f).Item(2)).ToString("dd/MM/yyyy")
  26.                 ' recorrer las columnas  
  27.                 fila = lvInicioMedidas.Items.Add(col1)
  28.                 For c As Integer = 1 To .Columns.Count - 1
  29.                     fila.SubItems.Add(TablaMedidas.Rows(f).Item(c).ToString())
  30.                  Next
  31.             Next
  32.         End With
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 21/02/2010 a las 11:32