FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DBText que no toma los valores pasados a su EditValue o Text
Hola.
Tengo un problema con una aplicación que estoy diseñando. Tiene una sección de clientes en la cual se pide DNI. El DNI se introduce en un DBtext de dev express, y en el evento exit del mismo, calculo la letra del DNI. Hasta aquí bien, el problema es que a la hora de guardar, se almacena sin la letra. Es decir, en el evento exit del DBtextDNI calculo la letra y se la paso al DBtextDNI.EditValue o al DBtextDNI.Text. Funcionar funciona, porque veo como el DNI está ahora con su letra, pero al hacer el post, pues almacena sólo lo escrito a mano. Me pasa lo mismo con la sección de alquiler, donde tras buscar el juego y el cliente, y asignar sus códigos a un DBText (mediante EditValue o Text), al hacer el post se me cuelga al no estar esos campos rellenos (aun yo viéncolos). He llegado a la conclusión de que un DBText no engancha cadenas que se le pasan mediante EditValue o Text, sino que tienes que escribir presonalmente en ellos. No sé si me he explicado. ¿Tiene esto solución? Gracias de antemano
__________________
IncestoCanibal.com |
#2
|
||||
|
||||
Nunca asignes directamente los valores a un control DataAware. Hacelo con el campo al que está enlazado.
En lugar de hacer EditDNI.Text := 'Valor'; hace TablaDNI.FieldByName('DNI').AsString := 'Valor'; Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
Pues efectivamente, lo he hecho como comentas y funciona a las mil maravillas. La verdad es que me traía un poco amargado, porque hacía bien la asignación, pero a la hora de hacer el post no almacenaba el DBtext con los cambios realizados. Ahora sí. Mil gracias
__________________
IncestoCanibal.com |
#4
|
||||
|
||||
Evento OnSetText
¡Buen día a todos!
También considera la posibilidad de utilizar el evento OnSetText del campo persistente. Es una manera de centralizar el comportamiento de asignación de texto a un campo, independientemente del control donde se haya realizado la captura. Por otra parte, quiero comentar que recientemente descubrí que el componente TDXGrid de Developer Express toma la decisión de asignar el texto él mismo cuando se trata de un campo de tipo fecha (no le da el texto al campo). No se si el "DBText" de Dev Express venga con el mismo mecanismo, pero si es así, al tratarse de un campo de tipo fecha no se podrá usar el evento OnSetText del campo persistente, a menos que se haga una derivación de clase para flexibilizar esa característica un tanto inconveniente de Dev Express. No obstante, considero que Developer Express es una de las mejores bibliotecas de componentes que hay en el mercado. Espero esto sea de utilidad. Seguimos en contacto. Al González . |
|
|
|