Mostrar 2 tablas anidadas en un DBGrid (Drill Down)
Buenas...
Pues tengo 2 tablas: Usuario (idUsuario, Nombre, Apellido, ......) Con los siguientes datos: Venta (idVenta, idUsuario, fecha, Total$sus, ....) con los datos:Ahora lo que quiero es que en un DBGrid me muestre las 2 tablas al estilo drill down, algo asi: idusuario | Nombre | Apellido ...... 1 | Jorge | Perez ..... idVenta | idUsuario | fecha | Total$sus ...........2 | Elena | Casanova idVenta | idUsuario | fecha | Total$sus ...........Mas o menos que en la primera fila, es decir del primer usuario, aparezca una cruz (+) con la que se pueda expandir los datos de la venta realizada por un usuario, y Menos(-) para contraer.... Saludos... |
Mostrar 2 tablas anidadas en un DBGrid (Drill Down)
Nadie sabe como??
|
Hola
Me da la impresion de que lo que quieres es que se muestre la informacion de la segunda tabla en otro dbgrid ya que asi se ve en tu ejemplo. De ser asi esto se hace normalmente con algo que se llama master detail, osea, se ligan las tablas a los dbgrid. Hacerlos es algo muy sencillo y mas viendo como tienes ligados los datos en las tablas. Me gustaria saber que Base de datos usas, tal vez me sea mas sencillo hacer un ejemplo que explicarlo. Saludos |
Hola
Aqui te hice un ejemplo muy sencillo con Access. Saludos PD: Si no es lo que necesitas dilo.:) |
Hola
Creo que es la misma pregunta. Continua AQUI. Saludos PD: Muchos saben la respuesta, hay que ser paciente.:p:cool: |
Hola, zheen, bienvenido a clubdelphi, te recomiendo la lectura de nuestra guía de estilo, muchas gracias.
|
Gracias por responde... pero por desgracia no es lo que necesito... :(
La base de datos que utilizo es MySQL. En ralidad lo que quiero es q la otra tabla se muestre en el mismo dbgrid, mas o menos como un drill down, que vi en algunos softwares comerciales... te adjunto una imagen de lo que necesito hacer, es una imagen de aacess q encontre por ahi...(aun no tengo los permisos para poner imagenes pero te dejo la url , asi q por delante aumentale http ://) nxtgenug.net/images/Access2007DrillDown.jpg te agradeceria mucho si me das una mano... Saludos.. |
Lo mismo que muestras en la imagen lo puedes conseguir con los componentes InfoPower (de pago) de la empresa Woll2Woll.
|
ufa... de pago?.. no hay forma de realizar este trabajo con componentes nativos de delphi?. trabajo con delphi y c++ builder 2009.
Saludos |
Hola
Aqui tienes un ejemplo usando dbgrid. Es un truco pero es lo mas que este novato puede hacer. Por lo menos hace algo parecido que el de la foto, solo que a lo novato. Saludos PD: Lo que quedaria seria usar un stringrid, pero ya se complica para novatos.:) |
Muchisimas gracias
Muchisimas gracias... trabajare sobre ello....
Saludos. |
Hola
La verdad no me gusta que se repita el idusuario. Me gusta mas asi: Saludos PD: Ademas de darle cierta separacion para que se distinga la informacion.:D |
Cita:
No es la misma que la que te ofrece Access, por ejemplo, pues en este caso quedan datos ocultos, pero creo que a partir de ahí puedes generar una solución buena. |
Lo que intentas hacer en un dbgrid no lo puedes aplicar directamente, lo que sí puedes hacer, siendo una tabla maestro-detalle y enlazadas tal y como te han comentado, es, usar una dbgrid y a un lado otro dbgrid, de tal manera que cuando pulses en un registro y quede seleccionado de la tabla maestro, en el otro dbgrid te aparezca el detalle.
Otra opción es que uses un dbgrid propio modificando el original, lo puedes aplicar encapsulando el dbgrid original y añadiéndo un componente nuevo, llámalo dbgridzheen por ejemplo, en ella puedes generar los eventos nuevos que requieras y el objeto dbgrid inserto en un propio registro con el [+], cuyo evento onclick te permita la aparición de ese objeto heredado. Son ideas. Otra opción es usar otros objetos o bien ventanas que no sean modales donde te aparezca la info del detalle (de la otra tabla) durante el tiempo que ese registro está siendo seleccionado... como si fuera un Hint de ayuda típico. |
Muchas a gracias a todos(as)
Pues por falta de tiempo no pude profundizar este tema, lo que hice fue trabajar en base a lo que propuso caral, asi q gracias a ti Caral y a todos, por colaborar...
Saludos.. |
La franja horaria es GMT +2. Ahora son las 11:30:50. |
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