PDA

Ver la Versión Completa : Error en Delphi 7!!!-Componente TDBLookupComboBox


cybergerman
04-09-2004, 02:34:03
Hola, les comento que estoy programando en Delphi 7, y acabo de encontrar la solución para que al desplegar este tipo de combo me muestre todos los datos y no de a uno.

Lo que sucucede es que al desplegar por primera vez el combo me aparece el primer elemento, luego lo cierro y cuando lo vuelvo a desplegar me aparecen 2 elementos y las correspondientes flechitas pero pequeñas ,similares al de el selector numérico, y así sucesivamente hasta mostrarme el último elemento.

Recien ahi consigo que al desplegar el mismo me muestre todos los elementos.

La propiedad droprowcount esta asignada con el valor 7, pero lo mismo yo tengo 5 elementos.

La solución que encontre me parece insolita que me pase con Delphi y es la de incluir en el mismo formulario un control TDBLookupListBox;
Si a este lo conecto al mismo datasource al que esta conectado el combo, consigo hacer que el combo me despliegue de una sola ves todos los datos,siempre y cuando al lookupListBox no le altere la altura.

Obviamente que esta lista la pongo invisible, ya que no me sirve para nada.

Invito a que prueben si les pasa lo mismo o solamente es a mí.Pero ya probé muchas veces y es la única solución que encontré.

Alguien tiene otra solución? sin usar otros tipos de combo, porque yo ya los probé

marcoszorrilla
04-09-2004, 19:12:01
Pues acabo de hacer la prueba y al desplegarlo me muestra los primeros siete elementos como es lógico, las propiedades necesarias para ello son como es de suponer conectarlo a una fuente de datos y cumplimentar las propiedades:
ListSource, ListField, ListField y KeyField.

Si quieres que se despliegue automaticamente al abrir el formulario que lo contiene:


procedure TForm1.FormActivate(Sender: TObject);
begin
DbLookUpComboBox1.DropDown;
end;


Un Saludo.

cybergerman
06-09-2004, 15:19:38
Las propiedades ListSource,keyfield y ListField están asignadas a un Query,pero no puedo ver todos los elementos que me devuelve la consulta.

marcoszorrilla
06-09-2004, 15:30:37
Pues ahora he probado con una consulta y me sigue funcionando correctamente, es decir me muestra los primeros siete elementos y al desplegar me permite llegar hasta el final sin ningún problema.

Prueba a eliminar el componenete y bajarlo de nuevo y darle las propiedades.

Un Saludo.

cybergerman
11-09-2004, 02:07:28
Te cuento que este error solo pasa con los componentes IBX,
por ejemplo el IBQuery;

Probá y vas a ver que tengo razón.

Solo tienes que agregar tambien un componente TDBLookupListBox y verás que de esa manera funciona.(Solo conecta la propiedad datasource de este y nada mas)

Una cosa, si achicas el Heigth de este componente vas a ver que el combo(TDBLookupComboBox), la
primera ves que lo ejecutas muestra solo el primer elemento.

La verdad que es insólito.

roman
11-09-2004, 02:29:55
Tienes razón, funciona tal como describes aunque por lo que veo no lo consideraría un defecto. Mira este enlace (http://groups.google.com.mx/groups?threadm=3C625FD9.86EDAA05%40penplan.com) en donde explican qué pasa.

// Saludos

neosyoshiran
05-12-2005, 17:00:42
Bueno la verdad nose porque funciona asi el TDBLookupComboBox pero
alle una manera de solucionarlo, aunque no me parece muy funcionarl, pero si funciona bien es lo siguiente:
Tienes Que hacer que la tabla asignada baya hasta el ultimo registro, la primera vez
ej:
Tabla1.last
si es un IBX es igual
a si te mostrara que si se muestran todos los elementos
pero ahora yo tengo otro problema y es el siguiente en el campo LISTFIELD
quiero mostrar dos campos ej: DETALLE;Monto pero el campo detalle debe tener como 40 caracteres y el monto como 10, pero no quiero aumentar mi tamañao del TDBLookupComboBox solo de la ventana desplegable hay alguna manera?