Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   varios campos en un dblookupcombobox (https://www.clubdelphi.com/foros/showthread.php?t=45161)

anubis 25-06-2007 06:22:31

varios campos en un dblookupcombobox
 
Hola. Estuve revisando los post del dblookupcombobox pero no encuentro respuesta a mi pregunta.
La cuestion es que tengo un dblookupcombobox con un campo que es el apellido pero quisiera poder desplegar el apellido y el nombre en el mismo combobox, esto como se podria hacer.
He visto tambien que con el dbcombobox solo me muestra un registro, pense que con este componente podria ver todos los de la lista de una tabla.

gracias

barracuda 25-06-2007 06:37:43

hola
 
como andas te comento las propiedades que yo modifico en mi dblookupcombobox espero que te sirva:


Código Delphi [-]
dropdownwidth:= 290
ListField:= 'per_apellido; per_nombres' //ambos campos deben ir separados por un ";" yo le agregue un espacio tambien
KeyField:= per_dni
ListSource:= tblPersonas //acá va el datasource que esta vinculado a la tabla "Personas" cuya clave primaria es "per_dni"

el problema que yo tenia era que mi base de datos (postgres) habia reservado 100 caracteres para el campo nombre y otros 100 caracteres para el campo apellido, entonces siempre veia solamente la primera columna:eek: , eso me hizo renegar bastante pero lo pude solucionar yendo a las propiedades del campo en la tabla personas en delphi (yo utilizo componentes bde) y cambiar el atributo
Código Delphi [-]
DisplayWidth:= 20

bueno eso era todo, espero que te sirva, saludos...........

p/d: debo disculparme por la mala utilizacion de el signo de asignacion ":=":o que no va, simplemente lo puse para que puedas ver que valores hay que poner en que atributos

anubis 25-06-2007 07:23:03

gracias me ha servido de ayuda. La pregunta del millon, porque solo aparecen los dos campos en la lista desplegable pero sin desplegar aparece la primera columna?

barracuda 25-06-2007 07:48:16

:confused: no se si entiendo tu pregunta.....
vos queres que salgan los dos campos "apellido" y "nombre" concatenados en el dblookupcombobox cuando este control esta sin desplegar?
si es así entonces no creo que la respuesta anterior te sea muy util, yo no se mucho(sino mira mis mensajes:o ), pero mientras alguno de los moderadores nos dan una mano te comento algunas cosas que yo intentaria:

primero:
Podrias utilizar un campo calculado que dinamicamente concatene el nombre y el apellido y entonces utilzas el nombre de ese campo en el atributo "ListField" el problema de esto es que entonces el dblookupcombobox no te va a ir adivinando el texto a medida que tipeas en el teclado:(
segunda opcion:
(y no muy elegante) podrias ubicar un dbcombobox o un "dbtext" al lado del dblookupcombobox y enlazarlo al mismo datasource pero al campo "nombre" y utilizar los eventos "oncloseup", "onenter" y "algun/os otro/s..." para hacerlo visible e invisible e intentar crear el efecto que vos queres.

como te digo, es muy probable que haya una mejor solucion asique esperemos que alguno de los moderadores pase por acá y nos den una mano, suerte.....

Spynosa 25-06-2007 10:51:42

no se que base de datos estas usando pero posiblemente tendras que hacer un FetchAll antes para que te aparezcan todos los registros

juanlaplata 25-06-2007 15:32:56

Y que tal usar un query que consulte la tabla personas, y que concatene (no se si se escribe asi) el apellido con el nombre Ej:
Código SQL [-]
select (Apellido+" "+Nombre) AS ApellidoyNombre from personas;

, y todos los campos que necesites, y luego utilizas esta consulta como si fuera la misma tabla personas, salvo que el appelido y nombre estan en un solo campo. Suerte.

barracuda 26-06-2007 04:24:50

Cita:

Empezado por juanlaplata
Y que tal usar un query que consulte la tabla personas, y que concatene (no se si se escribe asi) el apellido con el nombre Ej:

Código SQL [-]select (Apellido+" "+Nombre) AS ApellidoyNombre from personas;



, y todos los campos que necesites, y luego utilizas esta consulta como si fuera la misma tabla personas, salvo que el appelido y nombre estan en un solo campo. Suerte.

Muchas Gracias Juan me habia olvidado de esa opcion, pareceria q es una de las mas adecuadas, pero sigue teniendo el mismo problema que el campo calculado :( Saludos...............


La franja horaria es GMT +2. Ahora son las 14:04:04.

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