Re: Problema con wxDatePickerCtrl

damufo <[email protected]> Fri, 11 Dec 2009 10:36:53 +0100
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
Hola

Manuel Enrique Gonz=E1lez Ram=EDrez escribiu:
> Cordial saludo amig@s de la lista.
>=20
> Este es mi problema:
>=20
> Tengo un formulario que tiene entre otros, dos controles tipo
> wxDatePickerCtrl con la propiedad wxDP_DROPDOWN denominados fecnace y
> fecceremonia respectivamente.
>=20
> Dichos controles me muestran en el formulario la fecha con el formato
> dd/mm/aaaa por ejemplo la de hoy (10/12/2009).
>=20
> La base de datos ya me la han pasado y he notado que el campo al que ap=
untan
> es un campo tipo date con el formato aaaa-mm-dd.
>=20
>=20
> Mi problema:
> No puedo cambiar el formato de la base de datos pues fue algo que me pa=
saron
> y debo conservar los formatos y he notado que los controles DatePickerC=
trl
> me est=E1n guardando los datos con el formato mm/dd/aa 00:00:00, bueno,=
 eso lo
> puedo solucionar cambiando el formato con
> self.fecnace.GetValue().Format('%d/%m/%Y').encode().
> Mi problema radica en que la base de datos ya tiene datos y al querer
> recuperar un registro siempre me arrojan error en los DatePickerCtrl, l=
o he
> intentado de varias formas:
>=20
> Por ejemplo haciendo un split de la fecha tras recuperar la consulta de
> mysql
> fnace =3D str(i[9])
> aa =3D fnace[2:4]
> mm =3D fnace[5:7]
> dd =3D fnace[8:10]
>=20
> fnace =3D mm+'/'+dd+'/'+aa+' 00:00:00'
>=20
> self.fecnace.SetValue(fnace)
>=20
> Y me saca el siguiente error:
> AttributeError: 'f_bautismo' object has no attribute fecnace
>=20
>=20
> Alguien que por favor me colabore, quiero poder recuperar un registro
> espec=EDfico de la base de datos (ya est=E1 eso) y que los controles
> DatePickerCtrl cambien su valor seg=FAn el registro de la base de datos=
 (es lo
> que necesito).
>=20
>=20
> Gracias.
>=20
>=20
>=20

En mi caso cuando lo us=E9 hice unas funciones de intermediarias, la fech=
a=20
en la base de datos, la guardaba en un campo texto. A ver si te dan=20
alguna idea.

def fecha_a_texto(valor):
     return (str(valor.GetYear()) + str(valor.GetMonth()+1).zfill(2) +
                                         str(valor.GetDay()).zfill(2))

def texto_a_fecha(valor):
     ano, mes, dia =3D (int(valor[0:4]), int(valor[4:6]), int(valor[6:8])=
)
     return wx.DateTimeFromDMY(dia, mes -1, ano)

self.dp_fecha_evento.SetValue(texto_a_fecha(fecha_en_formato_texto))
#dp_fecha_evento es un DatePickerCtrl

fecha_evento =3D fecha_a_texto(self.tx_fecha_evento.GetValue())

suerte!
_______________________________________________
Lista de correo Python-es=20
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes