Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2007
HomeCinema HomeCinema is offline
Miembro
 
Registrado: Jan 2007
Posts: 12
Poder: 0
HomeCinema Va por buen camino
Smile duda grid editable: lineas vacías

Hola, me gustaría saber que puedo hacer para permitir que la flecha abajo me deje insertar un registro en un grid pero sin tener el problema de que si a continuación le doy a la flecha arriba me de el error de que no tiene clave ( lógico porque el nuevo registro insertado está vacio ) ¿Hay alguna forma de eliminar estos registros vacíos comodamente o algun procedimiento que se ejecute en algun evento para ello? gracias de antemano
Responder Con Cita
  #2  
Antiguo 27-04-2007
Troffed Troffed is offline
Miembro
 
Registrado: Mar 2004
Posts: 51
Poder: 14
Troffed Va por buen camino
En el BeforePost haz un Abort si no quieres el registro.
__________________
"De la ignorancia nos equivocamos,
de los errores aprendemos."
---
www.softinspain.com
Responder Con Cita
  #3  
Antiguo 02-05-2007
HomeCinema HomeCinema is offline
Miembro
 
Registrado: Jan 2007
Posts: 12
Poder: 0
HomeCinema Va por buen camino
He hecho el abort en el evento pero se me queda clavado en ese registro, es decir, no me da error pero no me deja subir al de arriba. He probado a posicionarlos y sigue clavado. En mi grid tengo dos columnas donde introduzco valores y el resto son solo para mostrar.
¿Podrías poner brevemente el código que usas en este evento? Gracias
Responder Con Cita
  #4  
Antiguo 02-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: May 2003
Posts: 7.424
Poder: 22
Lepe Va por buen camino
En dicho evento, puedes mirar el valor de clave primaria, y si es null, Cancelar en lugar de abortar.

Código Delphi [-]
  if tabla1CAmpoprimario.isnull then
    tabla1.Cancel;

Abort lanza una excepción silenciosa, por ese motivo se corta el flujo del programa, quedando el registro en modo edición pero sin guardar.

Edito: Al intentar cambiar de registro, el Dataset realiza un Post de la tabla, por tanto, se vuelve a lanzar otra vez un Abort, y te quedas "clavado" en ese registro.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 02-05-2007 a las 15:07:39.
Responder Con Cita
  #5  
Antiguo 02-05-2007
HomeCinema HomeCinema is offline
Miembro
 
Registrado: Jan 2007
Posts: 12
Poder: 0
HomeCinema Va por buen camino
Si hago un cancel me salta la excepción KEY VIOLATION. Una vez aceptado el dialogo que sale, el registros se observa que se borra con exito. He intentado capturar el error para que no lo muestre. ¿Cómo evitas que salga eso?
Responder Con Cita
  #6  
Antiguo 02-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: May 2003
Posts: 7.424
Poder: 22
Lepe Va por buen camino
¿Qué Base de datos usas? o el sistema gestor de bases de datos.

Es muy raro que salte una excepción al cancelar, puede que estés usando otro evento que provoque un post.

¿qué clase de campo es la clave primaria? un autoincremento, un generador....

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 02-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: May 2003
Ubicación: Ciudad de México
Posts: 20.170
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Quizá esté afectando algún otro evento. Porque yo hago la prueba como se describe orginalmente (flecha abajo, seguido de flecha arriba) y no pasa nada, simplemente se cancela la inserción sin necesidad de manejar ningún evento. Esto incluso teniendo llave primaria la tabla y campos requeridos.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como imprimo lineas vacias en una Factura? Tony211 Impresión 2 16-01-2007 20:28:46
Grid editable teniendo requestlive=false (ZEOS-MySQL) RaulRuiz SQL 1 01-08-2005 18:48:53
Duplicidad de lineas en un grid con select contra firebird saruman91 Firebird e Interbase 6 29-10-2004 03:41:33
Duda sobre grid jmedina Varios 1 08-10-2004 13:22:08
problemas con celdas vacias davidgaldo Conexión con bases de datos 4 28-05-2004 11:33:18


La franja horaria es GMT +2. Ahora son las 11:31:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi