Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   DBLookupComboBox.itemindex? (https://www.clubdelphi.com/foros/showthread.php?t=52343)

look 17-01-2008 21:32:28

DBLookupComboBox.itemindex?
 
hola compañeros , prodrian ayudarme con este problemita que tengo .....
tengo un DBLookupComboBox el cual quiero que me muestro por defecto el el primer item de la lista pero este no tiene la propiedad itemindex para moverse entre los items como el combo normal ,.... :)

eduarcol 17-01-2008 21:37:54

no tiene el item index. tiene el KeyValue

Cita:

Use KeyField to determine the value represented by the lookup control (not the value displayed by the lookup control). When KeyValue is set, the lookup control attempts to find a record from the ListSource's dataset where the value of KeyField matches KeyValue. If such a match is found, the lookup control displays the value of ListField on that record.

look 17-01-2008 21:40:12

como puedo usar esa propiedad me podrias dar la sintaxis ,....

enecumene 17-01-2008 21:41:04

Hola, no tiene el itemindex pero si tiene la propiedad ListFieldIndex.

Saludos.

look 17-01-2008 21:47:02

prove la propiedad ListFieldIndex pero esta no hace nada....
aver que estoy haciendo mal... tengo una query para llenar los item de este....no se si eso afecte en algo...

jachguate 17-01-2008 21:49:00

Cita:

Empezado por look (Mensaje 258995)
como puedo usar esa propiedad me podrias dar la sintaxis ,....

Código Delphi [-]
  ComboCiudades.KeyValue := 1;

Hasta luego.

;)

look 17-01-2008 21:55:45

prove la propiedad keyvalue y me da el siguiente error :

could not convert variant of type (string) in to type(double)

no se que estoy haciendo mal espero me tengan algo de paciencia :)....

marcoszorrilla 17-01-2008 21:59:06

Prueba esto, verás como hace lo que quieres.

Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
begin
DbLookUpComboBox1.DropDown;
 keybd_event(VK_Down, 0, 0, 0);
 keybd_event(VK_Return, 0, 0, 0);
end;

Un Saludo.

jachguate 17-01-2008 22:05:38

KeyValue es una propiedad de tipo Variant, por lo que te aceptará cualquier tipo de dato.

Obviamente, en tiempo de corrida, el tipo del dato que le asignes debe conicidir con el tipo de dato del campo que has elegido como llave (KeyField). Si es string:

Código Delphi [-]
  DbLookUpComboBox1.KeyValue := 'uno';

Por el contrario, si es entero:
Código Delphi [-]
  DbLookUpComboBox1.KeyValue := 1;

etc. No creo que haga falta, pero prefiero aclarar que el valor que le asignes a la llave debe existir en el dataset asociado.

Por otro lado, la solución de marcos está muy buena... y hace exactamente lo que querés en este caso... la del KeyValue es mas genérica.

Hasta luego.

;)

look 17-01-2008 22:13:22

Uff ahora sii que entendi jeje , Jachquate Grasias Por toda la ayuda ...:):):):):)

Crandel 18-01-2008 23:51:51

No se cual es tu eso especifico que le quieras dar al componente, pero si trabajas con una sola tabla en general prefiero el componente TDBViewCombo

Crandel

look 19-01-2008 20:03:37

mmm Probe este control TDBViewCombo , Crandel me sirvio de mucho , no para esta ocacion pero si para otra funcion en otros form jeje:) , es mas facil con este ....tanks

genyus00 24-01-2011 17:46:42

Imagino ya solucionastes tu problema con el loockupcombo, pero por las dudas usalo asi..

DBLookupComboBox3.keyvalue:=DM.C_ClienteCLI_NOMBRE.AsString;

tengo un pagecontrol con varias pestañas ocultas, en una tengo un grid con datos de solo clientes y en otra un grid con oficinas por clientes y un dbloockupcombo, y pues como queria que al seleccionar un cliente y pasar a la segunda pestaña, en el dbloockup me apareciera el cliente previamente seleccionado pues lo utilice asi como esta arriba.

en el dblookup solo defini listsource = dm.c_cliente, keyfield y listfiel = CLI_NOMBRE y listo.. espero sirva de algo esta explicacioncita..


La franja horaria es GMT +2. Ahora son las 11:39: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