gnzsoloyo, eres grande! jeje pero esta vez o no me he sabido explicar o no me has entendido bien jeje
He probado añadiendo tu código y no he podido solucionar el problema. Yo creo que el asunto esta en como se meten los datos en el listview, más que en la distribución de las columnas.
Vamos, que el problema creo que viene dado porque no añado correctamente al listview los elementos o algo por el estilo. Aquí:
o bien aquí:
No se si es que entran desordenados o me los inserta directamente en la posición 2 en vez de en la 1, no se...
Raro raro
Al final lo que he hecho es esto:
Código vb:
Ver original'%%%%%%%%%%%%%%%%%%%%%
'Relleno el ListView de medidas
'llenamos el ListView con las medidas
'%%%%%%%%%%%%%%%%%%%%%
' Propiedades del ListView
With lvInicioMedidas
.Items.Clear()
.Columns.Clear()
.View = View.Details
.GridLines = True
.FullRowSelect = True
' añadir los nombres de columnas
For c As Integer = 2 To TablaMedidas.Columns.Count - 1
.Columns.Add(TablaMedidas.Columns(c).Caption, 70, HorizontalAlignment.Center)
Next
End With
' Añadir los registros de la tabla
With TablaMedidas
For f As Integer = 0 To .Rows.Count - 1
Dim fila As New ListViewItem(TablaMedidas.Rows(f).Item(2).ToString)
' recorrer las columnas
For c As Integer = 3 To .Columns.Count - 1
'If c = 3 Then 'si es una fecha (columna 2)
' Dim fechaMedida As Date = TablaMedidas.Rows(f).Item(c).Date
' fila.SubItems.Add(fechaMedida)
'ElseIf c > 3 Then 'si es una medida (resto de columnas)
' Dim medidas As String = TablaMedidas.Rows(f).Item(c).ToString()
' fila.SubItems.Add(medidas)
' 'fila.SubItems(c) = medidas
'End If
Dim medidas As String = TablaMedidas.Rows(f).Item(c).ToString()
fila.SubItems.Add(medidas)
Next
lvInicioMedidas.Items.Add(fila)
Next
End With
así me lo muestra bien, pero el problema que tengo es que la fecha me la muestra en el formato DD/MM/YYYY HH:HH:HH, cuando yo solo quiero DD/MM/YYYY... he probado cambiando a date aquí:
Código vb:
Ver originalDim fila As New ListViewItem(TablaMedidas.Rows(f).Item(2).ToString)
dejándolo así:
Código vb:
Ver originalDim fila As New ListViewItem(TablaMedidas.Rows(f).Item(2).Date)
Pero me da un error:
Código vb:
Ver originalError 1 Error de resolución de sobrecarga porque ninguna de las funciones 'New' a las que se tiene acceso se puede llamar sin una conversión de restricción:
'Public Sub New(group As System.Windows.Forms.ListViewGroup)': El parámetro 'group' correspondiente al argumento se reduce de 'Object' a 'System.Windows.Forms.ListViewGroup'.
'Public Sub New(items() As String)': El parámetro 'items' correspondiente al argumento se reduce de 'Object' a '1-matriz dimensional de String'.
'Public Sub New(text As String)': El parámetro 'text' correspondiente al argumento se reduce de 'Object' a 'String'. C:\Users\*\Documents\Visual Studio 2008\Projects\WindowsApplication1\WindowsApplication1\WindowsApplication1.vb 256 21 WindowsApplication1
gracias por la respuesta en cualquier caso
EDITO:
Bueno, tocando, tocando... he dado con la solución:
Ahí va:
Código vb:
Ver original'%%%%%%%%%%%%%%%%%%%%%
'Relleno el ListView de medidas
'llenamos el ListView con las medidas
'%%%%%%%%%%%%%%%%%%%%%
' Propiedades del ListView
With lvInicioMedidas
.Items.Clear()
.Columns.Clear()
.View = View.Details
.GridLines = True
.FullRowSelect = True
' añadir los nombres de columnas
For c As Integer = 2 To TablaMedidas.Columns.Count - 1
.Columns.Add(TablaMedidas.Columns(c).Caption, 70, HorizontalAlignment.Center)
Next
End With
' Añadir los registros de la tabla
With TablaMedidas
For f As Integer = 0 To .Rows.Count - 1
'declaro la llamada a la columna uno
Dim col1 As String = TablaMedidas.Rows(f).Item(2).Date
Dim fila As New ListViewItem(col1)
' recorrer las columnas
For c As Integer = 3 To .Columns.Count - 1
'If c = 3 Then 'si es una fecha (columna 2)
' Dim fechaMedida As Date = TablaMedidas.Rows(f).Item(c).Date
' fila.SubItems.Add(fechaMedida)
'ElseIf c > 3 Then 'si es una medida (resto de columnas)
' Dim medidas As String = TablaMedidas.Rows(f).Item(c).ToString()
' fila.SubItems.Add(medidas)
' 'fila.SubItems(c) = medidas
'End If
Dim medidas As String = TablaMedidas.Rows(f).Item(c).ToString()
fila.SubItems.Add(medidas)
Next
lvInicioMedidas.Items.Add(fila)
Next
End With
Saludos!