Foros del Web » Programación para mayores de 30 ;) » .NET »

Inicializar datetimepicker a una fecha dada

Estas en el tema de Inicializar datetimepicker a una fecha dada en el foro de .NET en Foros del Web. Buenas de nuevo! Tengo un problema y es que tengo una fecha (con formato "yyyy/MM/dd") y me gustaria que el datetimepicker que tengo en el ...
  #1 (permalink)  
Antiguo 28/04/2010, 06:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Inicializar datetimepicker a una fecha dada

Buenas de nuevo!

Tengo un problema y es que tengo una fecha (con formato "yyyy/MM/dd") y me gustaria que el datetimepicker que tengo en el form se inicilizara con esa fecha.

Como se podria hacer?

Un saludo!
  #2 (permalink)  
Antiguo 28/04/2010, 07:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Inicializar datetimepicker a una fecha dada

Hola manu_cai.

Puedes darle el formato que deseas a tu DateTimePicker al inicializarse el form y tambien asignarle la fecha:

Código PHP:

Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

DateTimePicker1
.Format DateTimePickerFormat.Custom
DateTimePicker1
.CustomFormat "yyyy/MM/dd"


End Sub 
Saludos.
  #3 (permalink)  
Antiguo 28/04/2010, 13:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

Pero de ese modo no puedo despues volver a cambiar el valor del datetimepicker. Como se podria hacer para poner la fecha y tambien con la opcion de que la pueda cambiar?

Un saludo y gracias! :)
  #4 (permalink)  
Antiguo 28/04/2010, 15:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
¿Por qué dices eso?

Cita:
Iniciado por manu_cai Ver Mensaje
Pero de ese modo no puedo despues volver a cambiar el valor del datetimepicker. Como se podria hacer para poner la fecha y tambien con la opcion de que la pueda cambiar?

Un saludo y gracias! :)
¿Por qué dices que no puedes cambiar la fecha de nuevo?
La propiedad .CustomFomat lo único que administra es la forma de representar la fecha, no altera la propiedad .Value.
Son cosas distintas...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/04/2010, 02:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

Si es cierto, cambia la representacion de la fecha. Pero al cambiar de fecha, la fecha seleccionada no se muestra, se muestra la fecha con la que la he incizializado. Sin embargo, en la propiedad .Value se encuentra el valor de la fecha seleccionada. Me gustaria que se pudiera visualizar el cambio de fecha, es posible?

Gracias por responder!! :)
  #6 (permalink)  
Antiguo 29/04/2010, 03:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Inicializar datetimepicker a una fecha dada

Lo que dices no tiene sentido. Si no has puesto nada raro en el Value, y el valor del DateTimePicker ha cambiado al seleccionar una fecha nueva, debería mostrarte la fecha seleccionada y no otra...
Debes tener algún problema en las propiedades del Control que estás usando en el Form.
Revisa eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 29/04/2010, 04:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

Ya conseguí "solucionarlo". Cuando se ejecuta el siguiente código:

datetimepicker.Format = DateTimePickerFormat.Custom
datetimepicker.CustomFormat = lector.Item("fecha")

Al parecer ya se queda guardada y mostrada esa fecha en el datetimepicker. Asi que lo hice fue, en el evento ValueChanged del datetimepicker poner lo siguiente:

tbFecha.Format = DateTimePickerFormat.Long

Es un poco "chorra" pero bueno...así muestra una fecha seleccionada.

Gracias por todo y un saludo!! :D
  #8 (permalink)  
Antiguo 29/04/2010, 05:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Inicializar datetimepicker a una fecha dada

Pregunta...
¿Por qué no manejas estos detalles de formato en la ventana de Propiedades de VS?
¿No te sería más sencillo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 29/04/2010, 12:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

Es que el valor que quiero que tenga el datetimepicker es a traves de una consulta a la base de datos, no siempre es el mismo valor.

Espero haberme explicado.
  #10 (permalink)  
Antiguo 29/04/2010, 13:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Inicializar datetimepicker a una fecha dada

Me interesa el problema.
¿Podrías postear el código donde le asignas el valor obtenido de la base al DateTimePicker, y el que usas para configurarlo?
Se me ocurre que el problema puede andar por allí.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 29/04/2010, 14:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

Este es el código:

Código:
'Ejecuto la consulta
sql = "SELECT * FROM cita WHERE idcita = " & cbIdCita.Text & " "

        comandoBD = New MySqlCommand(sql, conexionBD)
        conexionBD.Open()
        lector = comandoBD.ExecuteReader()

        'Rellenamos los textbox
        If lector.Read Then

            'Introduzco la fecha
            tbFecha.Format = DateTimePickerFormat.Custom
            tbFecha.CustomFormat = lector.Item("fecha")

            'Introduzco nombre, descripcion y hora
            tbNombre.Text = lector.Item("nombre") : tbDescripcion.Text = lector.Item("descripcion") : tbHora.Text = lector.Item("hora")

        End If
  #12 (permalink)  
Antiguo 29/04/2010, 19:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Inicializar datetimepicker a una fecha dada

Bueno, el error parece ser muy evidente. Esto esta mal:
Código vb.net:
Ver original
  1. 'Introduzco la fecha
  2.   tbFecha.Format = DateTimePickerFormat.Custom
  3.   tbFecha.CustomFormat = lector.Item("fecha")
En todo caso debería ser:
Código vb.net:
Ver original
  1. 'Introduzco la fecha
  2.   tbFecha.Format = DateTimePickerFormat.Custom
  3.   tbFecha.CustomFormat = "dd/MM/yyyy"
  4.   tbFecha.Value = lector.Item("fecha")
Ya que lo que va en la propiedad .CustomFormat es un string del patrón de representación. Y si lector.Item("fecha") contiene la fecha en cuestión, la fecha es un valor, por lo que debe ir en la propiedad .Value.
Me explico: Cuando tu le asignas un string de representación a un DTP, este reconoce ciertos caracteres como patrones y otros como constantes. En este caso, le estás metiendo números (los de la fecha), y los números dentro de un patrón son tomados como valores constantes. Por eso no lo puedes cambiar al seleccionar la fecha...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 30/04/2010, 03:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

De maravilla amigo gnzsoloyo!!

Muchas gracias. Al ver el resultado obtenido me pregunto si se podrá mostrar en vez de el formato "dd/MM/yyyy" el formato que trae por defecto, es decir, Viernes, 30 de Abril, de 2010.

Mil gracias!!
  #14 (permalink)  
Antiguo 30/04/2010, 03:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Inicializar datetimepicker a una fecha dada

Técnicamente si, pero en ese caso estarás afectado por la regionalización de la PC cliente, con lo que se representarán en el idioma correspondiente.
Si quieres controlar eso, deberás personalizar el formato de idioma del DTP...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #15 (permalink)  
Antiguo 30/04/2010, 05:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 57
Antigüedad: 15 años
Puntos: 0
Respuesta: Inicializar datetimepicker a una fecha dada

Como tampoco es una cosa necesaria mejor me quedo con tu primera solución.

Muchas gracias amigo ^^

Etiquetas: fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.