Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-10-2007
Avatar de amix
amix amix is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
amix Va por buen camino
ayuda con los dbgrids

hola
tengo un problemita , tengo 2 pantallas una es de pura consulta y contiene un dbgrid y la otra es de busqueda y da los resultados en otro dbgrid, lo q me han pedido es que cuando haga la busqueda en los resultados si le doy dbclick a cualquiera de ellos por ejemplo a la columna uno q tiene como clave el 3 entonces me mande a la pantalla de consulta y me seleccione la clave 3 del dbgrid y la vrdd no tengo idea de como hacerle si alguien me puede ayudar de antemano graxias
Responder Con Cita
  #2  
Antiguo 15-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola Amix, mira no entendi muy bien lo quieres, a ver, lo que quieres es que luego de una busqueda y al hacer doble click un resultado especifico te presente los detalles en un form? si es asi solo debes usar el mismo dataset arrastrar los edits al otro form y en el evento OnDblClick del dbgrid pones:

Código Delphi [-]
Form1:=TForm1.Create(self);
Form1.Show;

Tan simple como eso, ahora si no entendi bien lo que quieres avisame.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 15-10-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hombre, no me habia dado cuenta de que se trataba de dos dbgrids en diferentes forms, los grids tienen la misma tabla o diferentes tablas con una clave en comun? deberias dar mas detalles para poderte ayudar.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 15-10-2007
NeoTrooper NeoTrooper is offline
Miembro
 
Registrado: oct 2006
Posts: 17
Poder: 0
NeoTrooper Va por buen camino
Supongo que tendrias que pasar resultado recogido de busqueda y pasarlo por parametros al de la consulta. Quiza algo asi:

Código:
public
clave:integer;
....
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
clave:=DataSet1.FieldByName('clave').AsInteger;
end;
Y asi que el dbgrid de consulta se posiciona donde se encuentra esta clave.
Responder Con Cita
  #5  
Antiguo 15-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo mejor para ello es usar propiedades:

Código Delphi [-]
// Form para ver un solo registro:

TFormConsulta = class (TForm)

private 
   FClave:integer;
   procedure SetClave(const Value:integer);

public
  property Clave:integer read FClave write SetClave;
end;

implementation

procedure TFormConsulta.SetClave(const Value:integer);
begin
  if Value <> FClave then
  begin 
     if not dataset.Active then
       dataset.Open;
     FClave := Value;
    if not dataset.Locate('NombreCampo', Value, []) then
       ShowMessage('no encuentro el registro con el valor ' + inttostr(Value))
    else
       ShowMessage('ok, estoy situado en el registro');
  end;
end;

procedure TFormConsulta.Button1Click 
// boton para realizar la búsqueda y mostrar los resultados:
begin
  With TFormBusqueda.Create(nil) do
  begin 
     if ShowModal = mrOk then
       Clave := Resultado;
     Free;
  end;
El Form de búsqueda se muestra como modal, tendrá una variable llamada Resultado de tipo integer:
Código Delphi [-]
// en el Form de búsqueda, puedes hacer algo así en el evento doble clic del grid:
 Resultado := Formbusqueda.DAtasetPrincipal.FieldByname('clave').asinteger;
 self.ModalResult := mrOk;

El funcionamiento:

En la ventana de consulta pulsas el button1, se abre la ventana de busqueda y espera a que el usuario dé doble clic sobre una fila (siempre se devuelve la clave primaria, ya que a partir de ahí podremos tomar cualquier campo de ese registro), la ventana se cierra y la ventana de consulta estará situado en ese registro.

Espero sea lo que necesites.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 17-10-2007
Avatar de amix
amix amix is offline
Registrado
 
Registrado: oct 2007
Posts: 7
Poder: 0
amix Va por buen camino
Muchas graxias por ayudarme chicos me fue de gran ayuda y ojala y me siguan apoyando
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
Ayuda con los DBGRIDS drakkon Varios 4 18-06-2007 14:16:48
DBGrids y Flotantes alucardo Conexión con bases de datos 3 05-07-2006 16:39:06
Vincular dos DBGrids !!! TriLoCBA OOP 2 07-02-2006 17:39:32
DBGrids en Firebird RONPABLO Conexión con bases de datos 0 20-10-2004 06:57:21
Celdas en DBGrids karocs Conexión con bases de datos 1 31-08-2004 13:24:13


La franja horaria es GMT +2. Ahora son las 01:42:41.


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