Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2011
oktubre oktubre is offline
Miembro
 
Registrado: sep 2010
Posts: 10
Poder: 0
oktubre Va por buen camino
Consulta sobre DBGrid delphi 6

Hola gente,
mi consulta es sobre si se puede acceder a un registro de un dbgrid haciendo doble click sobre la fila.
no se si soy claro, la idea es hacer click o doble click sobre una fila (o registro) en el dbgrig y producir algo, como borrarlo o ponerlo en estado de edición, pero no todo el dbgrid sino el registro sobre el que actúo.
gracias de antemano,
esteban
Responder Con Cita
  #2  
Antiguo 28-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por supuesto que sí, si lo tienes asociado a un dataset con los respectivos sql, su funcionamiento predeterminado es así, precisamente.
Responder Con Cita
  #3  
Antiguo 28-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola oktubre.

En principio lo que se pone en algún estado no es el TDBGrid, es el TDataSet asociado a él.
No es posible poner un registro en un estado en particular de forma independiente al estado del DataSet, lo que es posible es interactuar con el registro seleccionado en ese momento.

Por ejemplo, si el DBGrid1 tiene el DataSource1 que apunta al DataSet1, este código en respuesta al evento OnDblClick del DBGrid1 provoca el borrado del registro actualmente seleccionado en el mismo:
Código Delphi [-]
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  DataSet1.Delete;
end;

Que sería lo mismo que hacer:
Código Delphi [-]
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  DBGrid1.DataSource.DataSet.Delete;
end;

Un saludo.

Edito: No vi el mensaje de Casimiro, que básicamente es lo mismo pero mejor resumido
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-05-2011 a las 00:23:59.
Responder Con Cita
  #4  
Antiguo 28-05-2011
oktubre oktubre is offline
Miembro
 
Registrado: sep 2010
Posts: 10
Poder: 0
oktubre Va por buen camino
a ver si entendi bien

a ver si entendí bien...
si tengo un DBGrid es porque hay un Tquery y un TDatasource no?
el dataset del que hablan es el TDatasource?

ahora, de que manera le indica el procedimiento de cual registro se trata exactamente?

disculpen pero vengo de PHP y se imaginan que estoy mas acostumbrado a las tablas hechas a mano con etiquetas pedorras y links con las instrucciones sql correspondientes a cada registro. un poco me cuesta entender como se hace con un dbgrid.
gracias por sus respuestas, me voy a poner a probar y pase lo que pase, les copio codigo.
Responder Con Cita
  #5  
Antiguo 28-05-2011
oktubre oktubre is offline
Miembro
 
Registrado: sep 2010
Posts: 10
Poder: 0
oktubre Va por buen camino
Bueno, ahora estoy lleno de dudas

no me maten, pero ahora si que no entiendo.
lo probe con un Tquery y no funciona, pero con un TTable funciona perfectamente, al hacer doble click borra el registro sin problemas.

hay una explicacion racional para eso no? cual es?
Responder Con Cita
  #6  
Antiguo 28-05-2011
Pedro-Juan Pedro-Juan is offline
Miembro
 
Registrado: ago 2006
Ubicación: Barcelona - España
Posts: 315
Poder: 18
Pedro-Juan Va por buen camino
Tienes que actualizar el TQuery después de borrar el registro.

Un saludo.
__________________
Este mundo es el camino para el otro, que es morada sin cesar. Mas cumple tener buen tino para andar esta jornada sin errar. (J. Manrique)
Responder Con Cita
  #7  
Antiguo 28-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por oktubre Ver Mensaje
no me maten, pero ahora si que no entiendo.
No te preocupes que no hay motivos para llegar a esos extremos ...

Cita:
lo probe con un Tquery y no funciona, pero con un TTable funciona perfectamente, al hacer doble click borra el registro sin problemas.
hay una explicacion racional para eso no? cual es?
Si que la hay, y es que el TQuery no realiza como el TTable actualizaciones al menos en forma directa, para eso tenés que lanzar manualmente una sentencia de actualización o utilizar un TUPDateSQL. Pero realmente un TTable es más simple de usar para esa tarea.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
consulta sobre dbgrid BetoAlonso Varios 9 24-11-2007 04:37:42
Consulta sobre el dbgrid snowlis SQL 3 11-05-2007 00:32:26
Consulta sobre Programación en Delphi mda1961 Conexión con bases de datos 7 28-02-2007 05:53:27
Consulta sobre el DBGrid Gustavo Gowdak OOP 2 01-12-2004 15:59:03
Consulta sobre DBGrid diegofhernando Conexión con bases de datos 4 10-11-2004 18:09:25


La franja horaria es GMT +2. Ahora son las 10:46:02.


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