Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-04-2011
eldonfsr eldonfsr is offline
Miembro
 
Registrado: jul 2007
Posts: 24
Poder: 0
eldonfsr Va por buen camino
valida celda dbgrid

Saludos a todos buena tengo una duda y estoy algo enredado con el problemita tengo que hacer que en un dbgrid en cada celda que capture el usuario validar la informacion que capturo para tomar ciertas acciones como brincar o dar el foco a cierta celda asi como validar si la informacion de capturo existe en una tabla de la base de datos algo asi como la captura de una factura con detalle que se valide si el articulo existe si no, he buscado algo parecido e intentado con varias formas con el control de los eventos ma no logro hacer que funcione alguien tiene algun ejemplo gracias.

fernado sandoval
Responder Con Cita
  #2  
Antiguo 18-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Buenas noches Fernando

podrias colocar algo de codigo?

pero me parece que hay un evento que se activa cuando se sale de una columna del dbgrid
OncolExit
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 18-04-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Efectivamente.

Como dice el amigo oscarac tienes que capturar el evento ColExit del Dbgrid. Por ese evento pasa cada vez que sales de una columna del grid y puedes saber qué columna has editado con la propiedad SelectedIndex.

ejemplo:

Código Delphi [-]
procedure Form.DBGrid1ColExit(Sender: TObject);
begin
  if DBGrid1.SelectedIndex = 0 then begin
     ShowMessage('Salgo de columna 0');
     // pongo el foco en la columna 5
     DBGrid1.Columns[5].Field.FocusControl;
  end;
end;

Saludos
Responder Con Cita
  #4  
Antiguo 20-04-2011
eldonfsr eldonfsr is offline
Miembro
 
Registrado: jul 2007
Posts: 24
Poder: 0
eldonfsr Va por buen camino
validar celda

Gracias por responder perdon por no poner algun codigo , aqui esta algo de lo que he conseguido hacer hasta ahora tratare de explicar lo que he entendido y espero me corrigan en lo que estoy mal.

1.- Si hago referencia al compo de esta manera en el evendo oncolexit del dbgrid.
showmessage(DBGQcRep.DataSource.DataSet.FieldByName('DgwCode').AsString);

ma aparece el mensaje sin valor ya que el valor esta en el buffer del dbgrid creo yo.

2.- El DbGird tiene la colletion TColumn que es donde tiene el titulo de la columana pero no veo propiedad donde este el valor actual.

3.- Al momendo de la edicion del la celda se hace en el buffer del dbgrid o del dataset del dbgrid?
Código Delphi [-]
procedure TFormQcRep.DBGQcRepColExit(Sender: TObject);
begin
   if DBGQcRep.SelectedIndex = 1 then begin

     ShowMessage(DbgQcRep.SelectedColumn.Collection.ToString);
     DBGQcRep.Columns[3].Field.FocusControl;
     showmessage(DBGQcRep.Columns[3].PickList.ValueFromIndex[1]);
  end;

   showmessage(sender.ToString);
            showmessage(DBGQcRep.DataSource.DataSet.FieldByName('DgwCode').AsString);


end;

saludo y gracias.
Responder Con Cita
  #5  
Antiguo 20-04-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

Cuando vas navegando por el dbgrid si consultas el campo de la tabla te tiene que dar el valor del campo del registro en el que esté situado el foco del dbgrid en ese momento así que asegurate de que cuando haces el showmessage del campo de la tabla el foco del dbgrid apunte a algún registro y no estés en una linea nueva.

Por otro lado la actualización del campo en el grid actualiza el campo de la tabla de forma automática.

Saludos
Responder Con Cita
Respuesta



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
Mouse en Celda de DBgrid angelholberg Gráficos 1 06-02-2009 03:10:24
valor de una celda de un dbgrid alopete Varios 4 17-10-2007 17:32:46
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid?? AGAG4 Varios 11 15-11-2004 20:53:28
Marcar una celda de un DBGRID bustio Conexión con bases de datos 1 10-06-2004 09:51:43
Seleccionar una celda de un DBGRID Sandochan Conexión con bases de datos 2 28-05-2003 16:09:37


La franja horaria es GMT +2. Ahora son las 07:34:20.


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