Delphi - TDBComboBox

 
Vista:

TDBComboBox

Publicado por Kikecg (33 intervenciones) el 02/03/2004 17:41:24
Hola.
Tengo una duda. Intento utilizar un TDBComboBox para mostrar una serie de valores disponibles, que están almacenados en una tabla. He configurado correctamente el DataSet, el DataSource, y creo que el TDBComboBox, indicando en su propiedad DataSource el que tengo creado, y en DataField el campo del que quiero que coja los valores el combo.
La idea es que al expandir la lista del Combo, me aparezcan todos los valores de ese campo en todos los registros. No se si me explico. Si conoceis Visual Basic, el DataCombo de VB hacía exactamente eso, mostrar el contenido de un campo concreto en todos los registros.
Sin embargo, en esta ocasion lo que me muestra el combo es el contenido del campo en el registro en el que se encuentra el DataSource, es decir, que se comporta exactamente como un DBedit normal y corriente.
No se si esto es normal o es que se me ha pasado algo por alto. A ver si alguien me puede orientar un poco. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TDBComboBox

Publicado por Sirjhan (46 intervenciones) el 02/03/2004 18:55:02
Nena espero que te halla entendido...
haber si tienes dbCombobox, y quieres que te muestre todos esos valores que has mecionado, baja un Query y un Datasource, en la propiedad Sql del Query (string), vas a escribir el código de consulta para extraer esos campos de la tabla que quieres ej.

Select Escribes los campos que quires mostrar separados por coma
From escribes el nombre de la tabla donde sacas esos campos

en el evento onShow del formulario escribes query1.open y luego te vas al evento
onExit del mismo formulario y ecribes query1.close

Le das clik al dbcombobox y te vas a la propiedad ListSource y escoges el nombre del Datasource y luego a la propiedad del mismo dbcombobox ListField y ahi escribes los campos que quieras que aperezcan separados por punto y coma...

Y lo ejecutas...

Suerte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TDBComboBox

Publicado por Cuervo (262 intervenciones) el 02/03/2004 18:58:02
no es necesario dbcombobox para lo que quieres, prueba con lookUpComboBox o comboBox:

While Not table1.eof do
Begin
ComboBox1.Items.add(table1.fieldbyname('PaisNombre').AsString);
table1.Next;
ComboBox1.Itemindex:=0;
End;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TDBComboBox

Publicado por Elena (330 intervenciones) el 02/03/2004 20:49:47
A la respuesta del amigo Cuervo le faltó poner la tabla al principio...
Table1.First;
While Not table1.eof do
Begin
ComboBox1.Items.add(table1.fieldbyname('PaisNombre').AsString);
table1.Next;

Sugiero que uses un combobox
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TDBComboBox

Publicado por Kikecg (33 intervenciones) el 03/03/2004 13:25:41
Hola a tod@s.
Gracias por las respuestas, pero lo cierto es que ninguna resuelve mi duda. Lo de cargar el Combo "a mano", digamos, ya lo tenía hecho. El problema es la velocidad, por eso quería utilizar el DBCombo, para minimizar los tiempos de carga de datos.
En cuanto a Sirjhan, espero que no te ofendas, pero, por un lado, lo de Nena ha sobrado un poco. No se en que parte de mi nick te parece que soy una chica... pero vamos, no. Aparte, no necesito utilizar un Query, ya que los datos los voy a utilizar directamente desde la tabla. Y, he mirado por todas partes el DBComboBox, y no hay manera de encontrar las propiedades ListSource y ListField, que en efecto aparecían en el DataCombo de VB, pero no en el de Delphi.
No hay un componente en Delphi que pueda hacer lo mismo que el DataCombo de VB?, me cuesta creerlo.
Gracias por las respuestas, de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ya lo he encontrado

Publicado por Kikecg (33 intervenciones) el 03/03/2004 14:21:01
Hola de nuevo. Ya he encontrado el componente que hace exactamente lo que necesito. Es el TDBLUCombo de TMS. Estos componentes son bastante interesantes, por cierto. Bien, concretamente a este combo se le especifica el DataSource y el DataField, y el solo añade los items a mostrar. El ahorro de tiempo, si se trata de muchos registros, es considerable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ya lo he encontrado

Publicado por Delfino (1216 intervenciones) el 04/03/2004 13:53:39
Seguro q no has buscado bien en la paleta DataControls, alli se encuentra un componente bastante potente y veloz q hace lo q quieres llamado DBLookupComboBox, la libreria JVCL tiene ese mismo control pero mejorado para permitir q el usuario busque en su lista tecleando..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ya lo he encontrado

Publicado por Ing Francisco Arena (140 intervenciones) el 05/03/2004 17:42:00
El componente DBLookupComboBox es parecido al componente de VB o VFP pero NO es igual, porque el de Delphi necesita sí o ssí dos origenes de datos, en cambio en VB esto no es necesario. Qué quiero decir con esto que el componente de VB puede tener asignado un ListSource y a la vez no tener asignado un DataSOurce, cosa que con Delphi no se puede. Es una lastima.que sea así.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ya lo he encontrado

Publicado por Ing Francisco Arena (140 intervenciones) el 05/03/2004 17:43:50
Me podrás informar donde conseguiste ese componente, porque hace tiempo que lo busco.
Te lo agradecería un montón.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ya lo he encontrado

Publicado por Delfino (1216 intervenciones) el 05/03/2004 22:11:46
en www.delphi-jedi.org esta localizado el proyecto jedi, la JVCL es uno de esos proyectos, puedes descargar la ultima version 3 beta o la version 2.10 stable, tengo la 2.10 y puedo asegurar q es bastante estable y potente, tienen un megademo q ilustra todos los controles q tienen, por cierto el control de vb q comenta tb lo tienen, se llama TJvLookupEdit, tb el DBLookupCombo se puede dejar vacio la propiedad DataSource para mostrar solo la lista sin q tenga q guardar datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ya lo he encontrado

Publicado por Delfino (1216 intervenciones) el 05/03/2004 22:17:56
O lo puedes descargar directamente desde aqui http://sourceforge.net/projects/jvcl/
..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar