FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
¿ 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... |
#2
|
|||
|
|||
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)
|
#3
|
||||
|
||||
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!!! |
#4
|
||||
|
||||
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 |
#5
|
||||
|
||||
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. |
#6
|
||||
|
||||
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 |
|
|
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 |
|