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 13-06-2008
nikotina nikotina is offline
Miembro
 
Registrado: oct 2006
Posts: 84
Poder: 18
nikotina Va por buen camino
Problemas Con Maestro Detalle

Hola gente. Mi problema es sencillo y facil de resolver(creo). Pero el tema es que no se como. y aqui va mi problema:

tengo en un mismo form 2 dbgrids. uno con la cabecera de pedidos y otro con detalle de cada pedido. La idea es que cuando el usuario descienda con el cursor (con el evento OnKeyDown del dataset)en el dbgrid 1, en el dbgrid dos me muestre el detalle de cada pedido.
El problema en concreto es que sí lo hace. pero simpre en la segunda tabla me muestra el detalle del pedido anterior. Por ejemplo, cuando estoy en el encabezado del pedido 2 me muestra el detalle del pedido 1, y así a medida que voy bajando o subiendo en la tabla 1.

Espero haberme hecho entender bien y que me puedan ayudar.

Desde ya muchas gracias a todos
Responder Con Cita
  #2  
Antiguo 13-06-2008
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 21
Walterdf Va por buen camino
Hola nikotina,

Sería bueno que nos cuentes un poco como estás mostrando el detalle a medida que te vas moviendo por las cabeceras, que tipo de tablas estás usando y demás para poder ayudarte.
De todas formas te adelanto que lo mas común en esto (en mi opinión), al tener dos tablas (cabecera y detalle), es "atarlas" a través de algún campo llave común a ambas tablas, que en tu caso puede ser el número de pedido. Esto produce que al moverte a través del MasterSource (tabla cabecera) automáticamente la tabla detalle cambie según el valor de ese campo en común.
Espero te sirva.
Un abrazo.
Responder Con Cita
  #3  
Antiguo 13-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola nikotina, como lo estas haciendo, porque si haces una relación maestro detalle entre tus dos dataSet no tendrías ese problema, en este hilo explico como se hace una relación maestro detalle http://www.clubdelphi.com/foros/show...aestro+detalle

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 13-06-2008
nikotina nikotina is offline
Miembro
 
Registrado: oct 2006
Posts: 84
Poder: 18
nikotina Va por buen camino
Hola Walter

Gracias Walter por aportar.
en las dos tablas tengo como campo comun id_pedido y en el evento onkeydown del dbgrid1 capturo el capo id_pedido del query1 y filtro el query2 mediante un Query2.fieldbyname('id_pedido').Asinteger:= Query1.fieldvalue['id_pedido']. Filtro que se refleja en el dbgrid2.
Pero el tema es que lo realiza bien en el evento OnClick del dbgrid1. Pero en el evento onkeyDown muestra el detalle del pedido anterior. Como que la consulta la realiza despues.


Un saludo
Responder Con Cita
  #5  
Antiguo 13-06-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo nikotina, has probado usar el evento onKeyUp en vez del onKeyDown del dbgrid. Pero yo creo que sería mejor que hagas una relación maestro detalle como te explico arriba.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 13-06-2008
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 21
Walterdf Va por buen camino
Hola nuevamente

Deberías considerar la recomendación de Caro en su hilo, me parece mas apropiada, pero si no queres cambiar el procedimiento que ya tenes te recomiendo (al igual que Caro) que pruebes con el evento OnKeyUp.
El evento OnKeyDown te está tomando el valor del id_pedido en el momento que la tecla baja y en ese instante está sobre el pedido anterior y es el que te muestra. (no soy experto, razono que funciona así).
Espero te sea de ayuda.
Un abrazo.
Responder Con Cita
  #7  
Antiguo 13-06-2008
nikotina nikotina is offline
Miembro
 
Registrado: oct 2006
Posts: 84
Poder: 18
nikotina Va por buen camino
Ok. Ese debe ser el problema. Lo voy a implementar en el evento OnKeyUp a ver si funciona.

De todas maneras muchas gracias a todos por colaborar.
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
Problemas con Maestro Detalle FelipeDiaz Conexión con bases de datos 2 02-11-2007 17:05:37
problemas maestro-detalle DBexpress jmlifi Conexión con bases de datos 2 16-06-2006 12:27:05
Problemas con Datamodule y maestro detalle Carlex Conexión con bases de datos 3 24-04-2006 14:23:44
problemas maestro-detalle jmlifi Varios 1 28-11-2005 21:10:22
Problemas al pasar maestro-detalle de D4 a D6 JMOTON Conexión con bases de datos 2 23-11-2005 12:35:06


La franja horaria es GMT +2. Ahora son las 17:55:13.


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