locked
Problema con ListView RRS feed

  • Pregunta

  • Hola, tengo un ListView que relleno desde una Bd, mi problema es que una de las columnas es una fecha que en la Bd está como tal (formato date) pero al mostrarla en el ListView la muestra como DateTime. ¿Cómo puedo mostrar sólo la fecha?. Gracias.
    miércoles, 15 de junio de 2016 16:30

Respuestas

  • Gracias, ya lo he solucionado pero no exactamente con la consulta que me dices

    consultaSql = "SELECT recorrido,tiempo,salida_num, DATE_FORMAT(fecha,'%d-%m-%Y') FROM datos WHERE recorrido = '" & cbox_ruta.Text & "' ORDER BY tiempo ASC"

    miércoles, 15 de junio de 2016 17:13

Todas las respuestas

  • solilopi,

    Puedes formatear el valor de la columna de tipo fecha a una cadena que contenga sólo fecha y omita el tiempo.

    DateTime.Now.ToShortDateString();

    miércoles, 15 de junio de 2016 16:41
  • Hola de nuevo, ¿Cómo formateo la columna si lo relleno dinámicamente desde la bd? Añado mi código para que lo veas. Gracias.

    tiempos_lbv.Items.Clear()
            tiempos_lbv.AutoSize = True
    
            conector = New MySqlConnection("Host=localhost;UserName=root;Password=pssw;Database=Bd;")
            Dim consultaSql As String
            consultaSql = "SELECT recorrido,tiempo,salida_num,fecha FROM datos WHERE recorrido = '" & cbox_ruta.Text & "' ORDER BY tiempo ASC"
    
            conector.Open()
    
            'RELLENAMOS EL LISTVIEW DEL RECORRIDO Y SUS TIEMPOS
    
            Dim da As New MySqlDataAdapter(consultaSql, conector)
            Dim ds As New DataSet
    
            da.Fill(ds, "datos")
    
            With ds.Tables("datos")
    
                For f As Integer = 0 To .Rows.Count - 1
    
                    Dim valor As New ListViewItem(.Rows(f).Item(1).ToString)
    
                    ' RECORREMOS LAS COLUMNAS 
    
                    For c As Integer = 2 To .Columns.Count - 1
    
                        valor.SubItems.Add(.Rows(f).Item(c).ToString())
    
                    Next
    
                    tiempos_lbv.Items.Add(valor)
    
                Next
    
            End With
    
            conector.Close()

    miércoles, 15 de junio de 2016 16:53
  • solilopi,

    De acuerdo, ya que tienes la consulta sql como texto a ser ejecutado entonces lo más simple es que la consulta formatee la fecha, tienes dos opciones:

    /*Puedes convertir a un tipo de sólo fecha*/
    consultaSql = "SELECT recorrido,tiempo,salida_num, CONVERT(date, fecha) FROM..." 
    
    /*Puedes convertir a un formato de sólo fecha*/
    consultaSql = "SELECT recorrido,tiempo,salida_num, CONVERT(varchar(10), fecha, 103) FROM..." 


    miércoles, 15 de junio de 2016 16:59
  • Gracias, ya lo he solucionado pero no exactamente con la consulta que me dices

    consultaSql = "SELECT recorrido,tiempo,salida_num, DATE_FORMAT(fecha,'%d-%m-%Y') FROM datos WHERE recorrido = '" & cbox_ruta.Text & "' ORDER BY tiempo ASC"

    miércoles, 15 de junio de 2016 17:13