Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Qué un campo en un DBLookupCombobox salga en blanco (https://www.clubdelphi.com/foros/showthread.php?t=51437)

David 15-12-2007 12:37:48

Qué un campo en un DBLookupCombobox salga en blanco
 
Hola

Tengo en DBLookupCombobox enganchado con un campo de la base de datos, pero además de los campos de la base de datos, en el desplegable me gustaría que saliera una línea en blanco, sin nada, y además si puede ser la primera mejor.

Es decir la idea sería esta, habre el desplegable, primera línea en blanco, sucesivas líneas los campos que obtienes de la base de datos, puede escoger una opción y siempre puede poner la línea en blanco, si quiere luego.

¿Cómo se hace esto? Si es que se puede.

Un saludo

marcoszorrilla 15-12-2007 14:05:23

La situación sería tan simple como en la tabla de la que extraes los datos tenga un registro en blanco.

Un Saludo.

David 15-12-2007 14:11:06

ya, pero es que hay clave primaria en la tabla y el que hace la tabla no quiere poner registros en blanco.

Esa solución es la primera que he pensado, pero no debo utilizar una sin tocar la base de datos.

marcoszorrilla 15-12-2007 20:23:50

Un truco sucio puede ser crear una tabla igual a la anterior con un solo registro en blanco (Sin llave primaria esta segunda) y luego seleccionar ambas tablas con un un Select Union de esta manera pienso que te pueda servir.

Un Saludo.

AFilth 15-12-2007 22:08:40

Si le pones el itemindex en -1 no te sale en blanco?
Luego una vez que haya elejido uno ya no puede dejarlo en blanco a no ser que pulse por ejemplo la tecla borrar y vuelves a poner el itemindex a -1.
Salu2.

David 17-12-2007 15:55:41

Hola

Al final lo he resuelto de la siguiente manera, el DBlookupcombox , mostraba las descripciones y keyvalue el codigo (que forma parte de la clave primaria), pues bien en la Query he creado un campo calculado, que tome los mismos valores que el codigo, luego en el ClientDataSet, este campo ya no es calculado, así que puedo asociarlo al componente.

Después de abrir la tablar hago un insert del clientDataSet, que como no lleva applyupdates ni commit no se queda grabado en la base de datos, le doy a la descripción valor '', y al código un valor cualquiera, lo mismo que a otros campos obligatorios (sólo uno más en este caso), obviamente el campo calculado no va en el insert, por que da error, de tal manera que si ya hay una fila en blanco, y cuando guarda el valor se guarda en la otra tabla como null, que era el objetivo inicial.

edito , para añadir algo más a lo dicho por AFilth,estoy con Delphi 6 y el DBLookupcombobox no tiene la propiedad itemindex, esa es del DBComboBox.

Saludos


La franja horaria es GMT +2. Ahora son las 13:42:28.

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