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 01-10-2008
calistian calistian is offline
Miembro
 
Registrado: may 2007
Posts: 15
Poder: 0
calistian Va por buen camino
como ver un tipo de datos de una grilla en otra grilla en el mismo form?

hola gente del foro tengo una inquietud y la verdad no se como hacer busque en el foro pero no encontre nada...lo q quiero realizar es lo siguiente tengo un form "Turnos" aca les dejo una imagen del mismohttp://img381.imageshack.us/my.php?image=turnoshh1.jpg en lo cual en la primera grilla se encuentran todas las disciplinas de un gimnasio, luego en otra grilla estan los horarios de las disciplinas q los agrego mediante el boton "Añadir" como se ve en la foto, pero lo que quiero es q al hacer un click en la primera grilla sobre la disciplina deseada; en la otra grilla de Horarios se tendria que mostrar todos los horarios q di de alta anteriormente en esa disciplina y asi con las demas; si en alguna disciplina no hay datos de horarios no me tendria q mostrar nada nose si me explico bien en lo que deseo hacer, espero que puedan ayudarme desde ya muchas gracias.-
Responder Con Cita
  #2  
Antiguo 01-10-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 calistian, puedes hacer una relación maestro detalle entre los dos DataSets que estan enlazados a tus DBGrids.

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
  #3  
Antiguo 01-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Cool

Hola calistian

si fueses un poquito mas exacto o específico en lo que quieres te aseguro que te podriamos ayudar mejor pero voy a intentar traducir lo que planteas....

me imagino que lo que quieres es que si seleccionas
Pesas = en el dbgrid2 te salgan los horarios de pesas
Pilates= en el dbgrid2 te salgan los horarios de pesas
¿y asi sucesivamente con todos los demás items?

si es así lo que debes hacer es lo siguiente:

en el evento oncellclick del dbgrid1 desarrolla el siguiente código:

Código Delphi [-]
   if tabledisciplinas.locate('id_discip',dbgrid1.fields[0].asstring,[]) then
      begin
         dbgrid2.fields[0].asstring:=tablehorarios.fieldvalues['num_orden'];
         dbgrid2.fields[1].asstring:=tablehorarios.fieldvalues['id_dias'];
         dbgrid2.fields[2].asstring:=tablehorarios.fieldvalues['hs_desde'];
// y asi con todos los demás campos
      end;

en estos momentos no tengo delphi a la mano pero creo que si se puede como te acabo de señalar ó también

Código Delphi [-]
TableDisciplinas.First;   
   while not TableDisciplinas.EoF do
      begin
         if TableDisciplinas.Locate('id_discip',dbgrid1.fields[0].asstring,[]) then
            begin            
         dbgrid2.fields[0].asstring:=tablehorarios.fieldvalues['num_orden'];
         dbgrid2.fields[1].asstring:=tablehorarios.fieldvalues['id_dias'];
         dbgrid2.fields[2].asstring:=tablehorarios.fieldvalues['hs_desde'];   
            end;
      end;

Salu2

Última edición por lKinGl fecha: 01-10-2008 a las 18:25:26.
Responder Con Cita
  #4  
Antiguo 01-10-2008
calistian calistian is offline
Miembro
 
Registrado: may 2007
Posts: 15
Poder: 0
calistian Va por buen camino
viendo soluciones

estem si es lo que quiero hacer lKinGl cuando selecciono por ej:
pesas = en la grilla2 me muestre los horarios de esa disciplina(pesas)
pilates= en la grilla2 me muestre los horarios de esa disciplina(pilates)
y asi sucesivamente^^ voy a probar lo que mencionaste y te cuento como me fue gracias por ayudar
Responder Con Cita
  #5  
Antiguo 01-10-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
Con el Locate solo te posicionas en el registro que encuentra, en todo caso si solo se quiere mostrar los horarios de una diciplina sería hacer una consulta. Pero si las tablas estan relacionadas sería mejor hacer una relación maestro detalle.

Cada query tiene su datasource respectivo query1->datasource1 y query2->datasource2, para que tengan la relación maestro detalle, el query2 que hara de detalle (donde estan tus horarios) en su propiedad datasource debe apuntar al datasource1

En Query1 tenemos esta consulta-> SELECT * FROM Disciplinas
En Query 2 tenemos -> SELECT * FROM HORARIOS WHERE fkIdDiscip=:iddiscip

donde el campo iddiscip es el que relaciona ambas tablas, haciendo eso a medida que te muevas en tu dbgrid1, veras los datos que le corresponden a ese registro en tu dbgrid2.

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.

Última edición por Caro fecha: 09-10-2008 a las 13:38:38.
Responder Con Cita
  #6  
Antiguo 01-10-2008
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 435
Poder: 19
JoAnCa Va por buen camino
Cool

Coincido con Caro
Lo mejor es hacer un Maestro Detalle de las tablas, y con eso sale lo que quieres sin tener que teclear nada de codigo.

Por si no entiendes como se hace, te explicare pues es muy facil:

En la dataset donde almacenas los horarios, busca las propiedades Mastersource (que seria el dataset de las disciplinas) y Masterfields (que seria el campo por el que se enlazan los dos dataset)

Espero que con esto resuelvas

Saludos
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
Rellenar una grilla con datos generados por el usuario maco2007 .NET 11 05-12-2007 02:53:00
como seleccionar todo en una grilla pnsd_89 SQL 13 07-09-2007 22:45:08
Como puedo Cargar una Grilla con Imagenes de una Base de Datos.???? DANNY777 Gráficos 3 17-05-2007 23:15:30
Modificar datos expuestos en una grilla |NoName| Varios 7 07-01-2007 14:26:32
Como Reflejo Un If De Select En Una Grilla cmena SQL 8 24-05-2004 15:34:11


La franja horaria es GMT +2. Ahora son las 06:11:28.


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