PDA

Ver la Versión Completa : Problema con el DropDown de DBLookUpComboBox


NPIdea
10-06-2008, 13:11:05
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, 14: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, 14: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, 20:09:30
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, 09:15:14
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