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)
-   -   ADO y TDBLookUpComboBox (https://www.clubdelphi.com/foros/showthread.php?t=24385)

miquellg 18-08-2005 13:45:28

ADO y TDBLookUpComboBox
 
Hola compañeros,
Puede que pregunte una tonteria pero no consigo mi proposito.
Tengo una BBDD ADO con una tabla de clientes (TClients) y necesito mostrar un desplegable con los nombres de clientes (Nomclient) y cuando seleccionen uno de ellos, que me devuelva el código de este cliente (idClient).
No se que componente debo hacer servir TDBLookUpComboBox, TDBListBox, TDBComboBox, ...? Ni como hacer que solo me muestre el nombre y me devuelva el código?
También se deberían poder seleccionar todos a la vez, pero como consigo introducir una linea de '<Todos>' que esté seleccionada por defecto.
"Sólo" es esto jejeje :D .
Gracias.

jmariano 18-08-2005 13:59:32

Para tu propósito has de usar el componente TDBLookUpComboBox y has de configurarlo así:

DBLookUpComboBox.ListSource := <DataSourceClientes>;
DBLookUpComboBox.ListFields := 'Nomclient';
DBLookUpComboBox.KeyField := 'idClient';

Después, en las propiedades "DataSource" y "DataField", especificarías en que tabla y campo almacenarás el valor "idClient" seleccionado.

miquellg 18-08-2005 18:36:45

Gracias jmariano, ya funciona.

En cuanto a lo de introducir una linea de '<Todos>' que esté seleccionada por defecto, se podría hacer de alguna manera.

Mauro.NET 18-08-2005 18:58:20

Te recomiendo que uses los componentes de RX-Lib para este tipo de cosas. Te permite poner un item por defecto como el que decis. Ademas seleccionas un Cliente y de manera interna maneja el codigo de cliente.

miquellg 18-08-2005 19:16:38

Gracias Mauro,

Pero prefiriría no usar las rx.lib . No se puede conseguir con el TDBLookUpComboBox?

jmariano 18-08-2005 19:38:51

Pues nop, no se puede porque el TDBLookUpComboBox no permite añadir elementos manualmente (éstos los obtiene de la base de datos).

Si necesitas que el usuario pueda hacer una selección de todos los clientes podrías, por ejemplo, añadir un CheckBox al lado del DBLookUpComboBox y que, cuando esté pulsado, inhabilite el DBLookUpComboBox (indicando, lógicamente, la selección de todos los clientes). La otra alternativa es usar un componente de terceros como indicó Mauro.NET.

roman 18-08-2005 21:03:09

Una opción sería agregar <todos> a la tabla de clientes con un código especial que indique que son todos. De esta forma, <todos> aparecerá en el DBLookupComboBox y bastará examinar el id asociado para saber que se trata de todos los clientes.

// Saludos

miquellg 19-08-2005 09:45:52

Gracias por vuestra ayuda.


La franja horaria es GMT +2. Ahora son las 03:58:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi