Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2006
Avatar de Peterman
Peterman Peterman is offline
Miembro
 
Registrado: jun 2006
Ubicación: Almeria (España)
Posts: 50
Poder: 18
Peterman Va por buen camino
¿ DBGrid.PickList := Lista Desplegable con valores de una tabla?

Tengo un problemilla con DBGrid y su propiedad PickList: no se como puedo
hacer surgir una lista desplegable con valores de un registro(columna) de una tabla dentro de los campos de un DBGrid.

Lo que quiero conseguir con esto es evitar violaciones de claves externas (foreign key) ni q se pueda introducir valores q no sean con el tipo apropiado para esa columna.

¿Que hago con la propiedad PickList?

Para acceso a datos utilizo una bd InterBase, Querry y DataSource.

Gracias x su atencion...
Responder Con Cita
  #2  
Antiguo 07-06-2006
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
el picklist es como un combobox normal donde tu le introduces las opciones, en tu caso especifico, seria mejor crear un campo calculado de tipo "lookup" asi cuando lo veas en el grid, te apareceran como opciones los campos de otra tabla (como un dblookupcombobox)
Responder Con Cita
  #3  
Antiguo 08-06-2006
Avatar de Peterman
Peterman Peterman is offline
Miembro
 
Registrado: jun 2006
Ubicación: Almeria (España)
Posts: 50
Poder: 18
Peterman Va por buen camino
Gracias Luis x contestar:

Ya habia escuchado algo del dblookupcombobox, pero he intentado utilizarlo y no me salen los valores del DataSource asociado a este (el que yo le pongo)...la teoria es muy bonita pero la practica un poco mas compleja.

Me podrias explicar un poco mejor: sobre todo esto: si yo creo el dblookupcombobox y la lista de valores desplegados fuera la correcta; como hago para asociarlo con el Grid; ¿lo pongo encima de la casilla donde quiero q se me habra dentro del Grid? (Esta solucion casi seguro que no va a ser).

Estoy a punto de conseguirlo y todo es x vuestra ayuda, gracias; y contestarme x favor!!!
Responder Con Cita
  #4  
Antiguo 08-06-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
lookup

Ya había sido contestado esto por jhonny....




a grandes rasgos es muy fácil



mira.


tenemos tabla amigos (, , , , ,campo Id_ciudad), y tablas ciudaddes (ID_ciudad, descripcion)



en tu dataset, click boton derecho, fileds editor, en la ventanita que se abre (agrega los campos ---- add alll fields), enseguida.

click boton derecho, add field, escribe el nombre del campo, "
Descripcion_Ciudad" y le dices que es de tipo lookup...


el key field, es el campo principal (Amigos), dataset es la otra tabla donde quieres llenar el combo, lookup key es la clave que se va a guardar en key field y result field es el campo que se mostrara en el combo. o algo así.



perdona la ayuda tan escueta, estoy algo apurado.

http://www.clubdelphi.com/foros/show...=campos+lookup


hilos encontrados a lo que preguntas

http://www.clubdelphi.com/foros/sear...earchid=468452


Saludos desde Guadalajara



Editado: Bienvenido al Foro de club Delphi. aquí aprendemos todos.


P.S. La Busqueda en los foros te la reomiendo.... es un arsenal de conociemitnos sin limite.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #5  
Antiguo 09-06-2006
Avatar de Peterman
Peterman Peterman is offline
Miembro
 
Registrado: jun 2006
Ubicación: Almeria (España)
Posts: 50
Poder: 18
Peterman Va por buen camino
Lo consegui !!!!

Gracias Paoti !!! Tu explicacion no ha sido muy detallada pero mas q suficiente para salir de apuro.

Aunque yo lo he conseguido de otra forma mas rebuscada, menos clara:

listaDatos: TStringList;
cadena: String;

//Queremos ver si nos muestra todos los valores del campo CODESTUDIO.
1. cadena := BDMod.QEstudiosCombo.FieldList.CommaText; // cadena:=CODESTUDIO.
2. BDMod.QEstudiosCombo.First; //Nos situamos al principio del Query.
3. listaDatos:=TStringList.Create; //Creo un objeto vacio TStringList


4. for i:=1 to BDMod.QEstudiosCombo.RecordCount do
begin
5. listaDatos.Add(BDMod.QEstudiosCombo.FieldByName(cadena).AsString);
6. BDMod.QEstudiosCombo.Next;//Avanzamos al siguiente registro.
end;


7. DBGrid1.Columns[2].PickList:= listaDatos; //Aqui añadimos los datos al PickList.


-->QEstudiosCombo = Es el Querry asociado a la tabla de la que queremos obtener los valores.
-->CODESTUDIO = Es el nombre de la columna de la que queremos obtener los valores.

Lo que se trata es de ir leyendo la tabla regitro a registro e ir añadiendo dichos campos en un objeto vacio de tipo TStringList (que realmente no se ni para que son este tipo de objeto). Bueno, una vez que añadmos creado el listado de valores, se lo asignamos en el campo PickList de la columna que queramos del Querry.

Si alguien tiene alguna pregunta que me dejen un mensaje, gracias....

Última edición por Peterman fecha: 09-06-2006 a las 10:26:43.
Responder Con Cita
  #6  
Antiguo 09-06-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Prueba con los campos lokup amigo....



y en vez de eso codigo si solo queires mostrar los datos, haz lo mism que te explique en el hilo pero ahora con campos calculados, es más elegante...
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
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
PickList DBGrid (Pregunta acerca de los DBGRID) lazarous Varios 1 10-01-2006 09:53:12
PickList en DBGrid Johnny Q OOP 5 27-09-2005 18:46:55
lista desplegable windows media player Renees Varios 5 02-09-2005 00:24:29
PickList de un DBGrid Sr.Scorpion Varios 1 12-08-2005 21:55:42
Lista desplegable dinámica HombreSigma PHP 1 12-07-2004 09:22:39


La franja horaria es GMT +2. Ahora son las 09:57:12.


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