FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
oki
Muchas Gracias Sr. Roman.... Me funciono. le debo otra
|
#2
|
||||
|
||||
????
Sr. Roman, ahora tengo este problema, quiero convertir el campo "Clave" a mayusculas y al quererlo hacer en el evento OnValidate me marca Error de desbordamiento de pila, hace llamadas recursivas si asigno valores al mismo campo en ese evento, por lo que no encuentro en donde hacer esa conversión, que me sugiere que haga????
|
#3
|
|||
|
|||
Para validaciones, comprobaciones y demás, yo te aconsejo usar el evento BeforePost del Dataset
Edito: Eso sí, hasta que no se valida el registro, no se hacen comprovaciones, por lo que a lo mejor no te sirve la idea para lo que tu querías |
#4
|
||||
|
||||
????
Gracias por su respuesta, pero no es a lo que me refiero, lo que pasa es que en las celdas del DbGrid ó bien en las propiedades del Campo de un dataset, no tienen alguna propiedad para convertir de minusculas a mayusculas conforme se este escribiendo algo ó bien cuando se termine de escribir, quiero encontrar en don de puedo hacer eso para que antes de que la aplicación mande activar el evento OnValidate del campo ya vaya con el Dato en MAYUSCULAS, me explico????, de antemano Gracias.....
|
#5
|
|||
|
|||
Sí, te explicas, pero sigo pensando que puedes usar el BeforePost e, incluso, el OnValidate de la siguiente manera:
Sabemos que cada vez que se produce un cambio en el contenido del Field, se dispara ese evento, no? Pues bien, hacemos que sólo se nos dispare 1 vez
Con esto, la primera vez que entre se hará el UpperCase del contenido del campo, lo que hará disparar de nuevo el evento. Pero la segunda vez que entra, al ser el contenido igual, ya no se modificará su contenido por lo que no volverá a disparar el evento y se desharán las llamadas recursivas creadas Espero te sirva |
#6
|
||||
|
||||
Creo que el evento adecuado para este tipo de manipulaciones es OnSetText del TField.
El OnValidate es adecuado para hacer validaciones, de manera que pueda producirse un error si el valor no es adecuado, pero no para hacer una Re-asignación del field. Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
||||
|
||||
???
También servirá cuando surja un Error ó cuando quiera que no cambie de celdas el dbGrid ????
Como por ejemplo cuando el Articulo no exista, hacer que no avance de celda, así como se hace en el OnValidate al mandar un "Abort", será la misma instrucción para el evento que usted me dice???? |
#8
|
||||
|
||||
De acuerdo con jachguate. El evento más adecuado es OnSetText que está precisamente para eso, para hacer conversiones del dato que se guardará en la tabla.
Claro que lo ideal es que el DBGrid tuviera la propiedad CharCase al igual que los Edits de manera que el texto aparezca en mayúsculas al momento de irlo escribiendo. Pero podemos lograrlo con un par de trucos sucios:
// Saludos Última edición por roman fecha: 15-06-2005 a las 19:00:17. |
|
|
|