Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema con el DropDown de DBLookUpComboBox (https://www.clubdelphi.com/foros/showthread.php?t=57266)

NPIdea 10-06-2008 14:11:05

Problema con el DropDown de DBLookUpComboBox
 
Hola a todos.

El problema es que no se me expande todo el control hasta que no paso los registros o hago un last de la tabla ListSource. Solo me enseña un item con unas flechas de dirección.

Hay alguna propiedad que lo haga automáticamente y me expanda los 7 items que tengo asignados a este componente.

Gracias

PD: Trabajo con D2007 y Firebird

Cañones 10-06-2008 15:22:26

Hola NPIdea.
A mi me pasaba eso y lo solucione haciendo lo siguiente.
Al dataset que me trae los resultados lo cierro, luego lo abro, despues last y despues first.
La cantidad de renglones que queres que despliegue los asignas en DropDownRows.
Eso en Delphi 6 que debe ser lo mismo calculo.
Saludos y espero te sirva.

Angel Fernández 10-06-2008 15:51:01

Hola.
En primer lugar, que quede claro que no soy ningún experto en la materia, así que lo que voy a decir mejor tomarlo con ciertas reservas.

Eso también me pasaba a mí y es porque, creo, firebird cuando devuelve datos, devuelve sólo los que se van a ver en pantalla. En un listsource con ver un dato es suficiente (en realidad no lo es) así que sólo devuelve un dato en una primera fase. Esto se puede solucionar como dice Cañones, haciendo simplemente un Last después de abrir el dataset. Al hacer last, firebird devuelve todos los registros (que concuerden con el criterio de búsqueda) y no sólo los que se ven en pantalla. Después de last puedes hacer otra vez first para colocar el dataset al principio.
Hacer last tiene un inconveniente: si tienes muchos datos, tardará considerablemente en traerlos. Pero supongo que en un list no estarás usando un dataset con miles de datos.

Otra forma de solucionarlo sin hacer last pero sólo válido si usas FIBPLUS:
En la propiedad del FibDataSet-> Options -> poFetchall -> poner a true.
Esto devuelve también todos los registros.

Un saludo.

NPIdea 10-06-2008 21:09:30

Gracias
 
He probado el hacer last y frist y solucionado, pero me parece poco decoroso.

En fin, que se le va a hacer.

Gracias

jafera 14-06-2008 10:15:14

DBComboLookup
 
Yo tenía el mismo problema y también he realizado el proceso last, firts y me ha solucionado el problema.

Los foros bien buscados son super sabios.

Gracias


La franja horaria es GMT +2. Ahora son las 15:13:49.

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