none
DataGrid como validar RRS feed

  • Pregunta

  • Como validar la columna de un datagrid por ejemplo si tengo fechas que la cuando la columna formato sea igual a "h" me muestre solo la hora o lo contrario si es un a"d" que me muestre solo la fecha sin la hora.
    miércoles, 27 de julio de 2016 22:56

Respuestas

  • Hola Jorge Luis zamora medrano,

    De dónde vas a saber el formato que le corresponde a cada columna? Ya lo estableces cuando carga los datos?

    Puedes usar el evento CellFormatting de tu DGV, ahí validas si es "h" o "d", y le agregas el formato que corresponde.

    Algo así :

        Private Sub DataGridView1_CellFormatting(sender As Object.....
            'Si es la columna 1 o 2 = Sólo hora
            If e.ColumnIndex = 0 Or
                e.ColumnIndex = 1 Then
                DataGridView1.Columns(e.ColumnIndex).DefaultCellStyle.Format = "HH:mm:ss"
            Else
                'Si es otra = Sólo fecha
                DataGridView1.Columns(e.ColumnIndex).DefaultCellStyle.Format = "dd/MM/yyyy"
            End If
        End Sub

    Sólo sería cuestión de adaptarlo a tus necesidades.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 27 de julio de 2016 23:07
  • Jorge Luis zamora medrano,

    Dado que los prefijos "t" y "d" refieren a formatos de tiempo y fecha respectivamente, puedes hacer uso del valor de la fila para formatear la columna que contiene valores de fecha (fecha y tiempo).

    Private Sub dataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs)
    	If e.ColumnIndex = 1 Then 'Indice de la columna Fecha
    		e.CellStyle.Format = Convert.ToString(dataGridView1("ColFormato", e.RowIndex).Value)
    	End If
    End Sub



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 28 de julio de 2016 15:47

Todas las respuestas

  • Hola Jorge Luis zamora medrano,

    De dónde vas a saber el formato que le corresponde a cada columna? Ya lo estableces cuando carga los datos?

    Puedes usar el evento CellFormatting de tu DGV, ahí validas si es "h" o "d", y le agregas el formato que corresponde.

    Algo así :

        Private Sub DataGridView1_CellFormatting(sender As Object.....
            'Si es la columna 1 o 2 = Sólo hora
            If e.ColumnIndex = 0 Or
                e.ColumnIndex = 1 Then
                DataGridView1.Columns(e.ColumnIndex).DefaultCellStyle.Format = "HH:mm:ss"
            Else
                'Si es otra = Sólo fecha
                DataGridView1.Columns(e.ColumnIndex).DefaultCellStyle.Format = "dd/MM/yyyy"
            End If
        End Sub

    Sólo sería cuestión de adaptarlo a tus necesidades.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 27 de julio de 2016 23:07
  • Jorge Luis zamora medrano,

    Dado que los prefijos "t" y "d" refieren a formatos de tiempo y fecha respectivamente, puedes hacer uso del valor de la fila para formatear la columna que contiene valores de fecha (fecha y tiempo).

    Private Sub dataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs)
    	If e.ColumnIndex = 1 Then 'Indice de la columna Fecha
    		e.CellStyle.Format = Convert.ToString(dataGridView1("ColFormato", e.RowIndex).Value)
    	End If
    End Sub



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 28 de julio de 2016 15:47
  • Muchas Gracias se me olvido comentarte que me funciono mucho tu respuesta
    jueves, 4 de agosto de 2016 16:09