FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Pasar enfoque de Celdas en dbGrid
Uso FireBird 1.50, IBX 7.08
Como puedo darle un ENFOQUE entre campos de una Tabla ó ya sea en un dbGrid, lo que pasa es que cuando estoy en el dbGrid y tengo 6 campos y en el campo 3 presionó la tecla "Fecha Abajo", me inserta un registro Nuevo en la Tabla al insertar uno Nuevo quiero pasarle el enfoque al instante al primer campo. Les agradezco cualquier comentario. |
#2
|
||||
|
||||
En el evento AfterInsert del DataSet asociado al DBGrid puedes poner
DBGrid1.SelectedIndex := 0; // Saludos |
#3
|
||||
|
||||
oki
Como me dice usted, no me funciona porque, tengo los dataset's en un datamodule y si mando llamar el SelectedIndex del dbGrid desde el datamodule dentro del evento AfterInsert me marca el error "Access Violation at adress....",
ó bien. Como podria filtrar un Registro, que al momento de presionar la "flecha abajo" antes de Insertarme un Nuevo registro poder validar ciertos campos, si los campos son Correctos, entonces que Abra un Nuevo Registro, Si No son validos entonces que no Abra el Registro Nuevo????? |
#4
|
||||
|
||||
Simplemente verifica en el AfterInsert que ya esté creado el DBGrid:
if DBGrid1 <> nil then Por otra parte ya estás mezclando cosas. Para validar si se puede o no insertar un registro usa entonces el evento BeforeInsert. // Saludos |
#5
|
||||
|
||||
Hay dos posibles soluciones:
En el evento AfterInsert del dataset, en el módulo de datos:
Tambén, en el evento OnStateChange del DataSource, que debiera estar en el formulario:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
????
No me funcionan como lo exponen mandando llamar al dbGrid desde el Datamodule que es donde tengo los dataset's, aunque le ponga dbGrig<>Nil.
No hay un Evento parecido al OnValidate de cada campo del Dataser, pero yo lo ocupo por cada Registro, para Validar antes de Insertar un Nuevo registro, ya se que existe el evento BeforeInsert y AfterInsert, pero no viene como parámetro alguna variable booleana como el "Accept", para evitar que Inserte un Registro Sin antes haber validado el Anterior. Gracias por sus Respuestas. |
#7
|
||||
|
||||
Si las condiciones no se cumplen en BeforeInsert basta que llames a abort para cancelar la inserción.
// Saludos |
#8
|
||||
|
||||
oki
Muchas Gracias Sr. Roman, ya me funcionó, le debo otra más.
|
#9
|
||||
|
||||
Cita:
Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#10
|
||||
|
||||
oki
Tiene muchísima razón Sr. Juan Antonio Castillo Hernández, ya hice pruebas y lo tuve que poner en el BeforePost para validar el Registro. De todas formas Gracias por su Respuesta. Le debo otra comida
|
|
|
|