![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#4
|
||||
|
||||
|
Lo que necesitas es pivotar una tabla, es decir, en base a un campo, hacer girar la tabla para que:
- Lo que son filas se muestren como columnas. - Lo que son columnas, se muestren como filas. Yo al menos para Firebird y componentes MDOLIB no encontré el homólogo a Decision Cube que traía el BDE, así que eché manos de un procedimiento almacenado. En mi caso requería 15 columnas (una quincena), en cada columna devuelvo el idPedido (cero si no ha habido ningún pedido). El Store procedure siempre tendrá 31 columnas, (el máximo de cualquier mes) numeradas, por ejemplo: dia1 dia2 dia3...dia31, dentro del SP, se busca las fechas en que se ha realizado un pedido, y a cada columna se le asigna el Id del Pedido: Código:
dia1 dia2 dia3 35 332 0 Yo he usado un DBGrid normal con DefaultDraw a false, así puedo pintar a voluntad en cualquier celda, está pensado para pintar 2 líneas dentro de cada celda, pero puedes modificarlo. El código para pintar cada celda es este:
Para seleccionar varias columnas, tendrás que ingeniartelas, por ejemplo pintando el fondo de color azul (simulando que está seleccionada) y guardando la fecha en un array of TDateTime (por ejemplo) Son líneas generales, si neceistas algo más avisa.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Grids.pas | Pook | Varios | 3 | 05-05-2006 13:11:13 |
| String Grids | naker | OOP | 4 | 02-09-2004 07:12:46 |
| unir db grids | piyugo | Varios | 3 | 29-08-2004 23:54:50 |
| Grids... | superhopi | Conexión con bases de datos | 3 | 17-08-2004 16:22:41 |
| Manejo de Grids y picklist | frankmch | Varios | 2 | 24-11-2003 00:27:38 |
|