Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Problema DBLookupComboBox (https://www.clubdelphi.com/foros/showthread.php?t=77497)

Furyxe 01-02-2012 16:55:48

Problema DBLookupComboBox
 
Buenas.

Sigo desarrollando mi pequeño proyecto, y tengo un error bastante curioso.

Resulta que en una ventana, tengo 4 DBLookupComboBox.
Estos DBLookupComboBox(todos) se llenan desde el mismo DataSource.

Se llenan bien, pero la cuestion es la siguiente.
En el momento que selecciono 1, se borran los demas.

Es decir, supongamos que yo abro el primer DBLookupComboBox, y selecciono el valor "hola". Ese valor se queda ahi señalado.
Ahora, voy al segundo DBLookupComboBox y selecciono un valor(el mismo o distinto), y ese valor se queda señalado, pero el valor del primer DBLookupComboBox se borra.

Yo siempre he usado los DBLookupComboBox cogiendo datos desde distintos DataSource, asi que creo que el problema sera ese. Pero yo quiero llenar esos DBLookupComboBox con la misma informacion.¿Voy a tener que crear 4 componentes de tabla, con la misma informacion, o hay alguna solucion?

NOTA: Yo quiero listar XX campos. Lo intente con el DBComboBox, pero solo me sale el primero. En cambio con el DBLookupComboBox se muestran todos.

Ñuño Martínez 01-02-2012 20:58:55

Creo que el problema está en que ambos usan el mimo DataSource.

No estoy seguro de cómo lo hace exactamente, pero es posible que cuando seleccionas una opción, el DBLookupComboBox, este hace una consulta al DataSource, quizá un Locate, lo que supone un cambio de estado del DataSource, lo cual hace que este envíe un mensaje a todos los elementos asociados al mismo (resto de DBLookupComboBox) que al detectar el cambio de estado optan por reiniciarse. Como digo, no estoy seguro de que sea así pero es fácil de comprobar mirando el código fuente.

Una posible solución podría ser usar TComboBox en vez de TDBLookupComboBox, llenándolos a mano.

Furyxe 02-02-2012 01:40:34

Gracias.

Era eso, era lo que me imaginaba, pero como no tenia acceso al pc que uso de programacion, no podia confirmar nada. y queria ver si habia alguna solucion con un mismo Datasource, pero parece que no.

Muchas gracias por responder ^^

EDITO:
Pues no, acabo de poder acceder al pc para confirmarlo, pero no es lo de los data source.
Parece que es la tabla, por que he creado otros componente tables similares, cada uno con su DataSource, y ahora si funciona.

Saludos


La franja horaria es GMT +2. Ahora son las 19:08:36.

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