Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-06-2007
acalderonr acalderonr is offline
Miembro
 
Registrado: may 2003
Ubicación: Mexico, DF
Posts: 33
Poder: 0
acalderonr Va por buen camino
Validar celda de DBGrid

Hola, tengo un problema para validar una celda de un DBGrid, el caso es el siguiente:

Tengo un DBGrid conectado a una tabla temporal DBF que cuando la salvo me la guarda en una base de Interbase. Pues bien, es una factura y cuando el cursor pasa por la columna de Precio quiero validar que no permita un precio en cero, si utilizo el evento GridColExit tengo lo siguiente:

{Valida que no pueda pasar con precio cero}
if Grid.SelectedField = DetalleEditPrecio then begin //primero valida que esté en la columna de precio
if DetalleEditPrecio.Value = 0 then begin
raise Exception.Create('Esta procesando una partida con precio Cero');
end;
end;

Sin embargo, siempre manda la excepción, quiero entender que cuando sale el cursor de la columna aún no se guardan los datos en la base temporal y siempre lo lee como cero, quisiera saber la forma de leer directamente el valor de la celda del grid y no del campo de base de datos, a través de Grid.Columns.Items o algo así, ojalá me haya dado a entender y alguien me pueda ayudar.

Gracias y saludos a todos.
Responder Con Cita
  #2  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Programa la validación en el evento OnValidate del Dataset que tengas conectado, por ejemplo:

- Mi DataSet se llama Tabla1 y quiero que no deje en cero en campo llamado valor, entonces usaría el evento OnValidate del campo "Valor" asi:
Código Delphi [-]
 
procedure TForm1.Tabla1ValorValidate(Sender: TField);
begin
  if Sender.AsFloat = 0 then
  begin
    raise Exception.Create('Esta procesando un valor en Cero');
  end;
end;

Espero te sirva .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 29-06-2007
acalderonr acalderonr is offline
Miembro
 
Registrado: may 2003
Ubicación: Mexico, DF
Posts: 33
Poder: 0
acalderonr Va por buen camino
Listo Johnny, resuelto el problema, no había pensado en ese evento pero ya solucioné esa parte.

Te lo agradezco mucho.

Saludos.
Responder Con Cita
  #4  
Antiguo 29-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por acalderonr
Listo Johnny, resuelto el problema, no había pensado en ese evento pero ya solucioné esa parte.

Te lo agradezco mucho.

Saludos.
Que bien, estos finales felices son muy buenos
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
Validar celda de StringGrid nowheremanza Varios 1 03-10-2005 00:13:33
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid?? AGAG4 Varios 11 15-11-2004 21:53:28
DBGrid me borra una celda thunor Varios 4 23-06-2003 02:08:04
Seleccionar una celda de un DBGRID Sandochan Conexión con bases de datos 2 28-05-2003 17:09:37


La franja horaria es GMT +2. Ahora son las 20:46:16.


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