Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2010
Thoronluin Thoronluin is offline
Miembro
 
Registrado: feb 2009
Posts: 39
Poder: 0
Thoronluin Va por buen camino
Forzar que un DBLookupComboBox muestre un valor por defecto

Hola:

Después de buscar, encontrar cosas parecidas y leerme mucho las ayudas; me gustaría preguntarles como se puede hacer lo siguiente.

Antecedente:
Tengo un DBLookupComboBox el cual me muestra una serie de elementos obtenidos (como no, de una tabla ) antes de seleccionar nada está en blanco el campo que muestra pero al desplegarse nos muestra los elementos que contiene del que podemos elegir uno. Al seleccionar uno de ellos nos devuelve el valor asociado mediante el KeyValue. Bueno hasta ahí el funcionamiento normal.

Ahora lo que intento:
Quiero que cuando se me abra la ventana DBLookupComboBox aparezca con un elemento ya seleccionado a modo de valor por defecto.

Buscando:
Buscando buscando encontré en el foro lo siguiente:

Código Delphi [-]
Table1.FindKey(['Baldwin']);
DbLookUpComboBox1.DropDown;

Al que le sustituí el FindKey por un Locate ya que uso ADOConnection pero es para situarte en un determinado valor de la tabla y no del combo y por tanto no me funciona como quiero.

También intente jugar con los índices pero o no los comprendí o no funcionó y por último se me ocurrió algo muy rebuscado (no lo he probado aún). Usar ADOQuery y filtrar por el valor, así sólo tendría el valor por defecto y en caso de querer otro valor cuando lo despliegue hacer un filtro más general y que me muestre todos los campo. El problema es que seguiría mostrándose en blanco hasta que lo despliegue y una vez desplegado aparecería todos, con lo cual no serviría de nada.

Si alguien se ha encontrado con algo así agradecería su ayuda.

Saludos y muchas gracias por adelantado.

Última edición por Thoronluin fecha: 19-05-2010 a las 21:28:48. Razón: Corrección del título
Responder Con Cita
  #2  
Antiguo 19-05-2010
Jhonjhon_123 Jhonjhon_123 is offline
Miembro
 
Registrado: may 2010
Posts: 12
Poder: 0
Jhonjhon_123 Va por buen camino
Hola

mira, yo no se tu Control como funcione, pero se como funciona el ComboBox, puede que sean similares.

mira, para estableser un valor por default pones simplemente esto:

Código Delphi [-]
ComboBox1.ItemIndex := 0;

y listo, almenos para el ComboBox.

Espero te sirva!
Responder Con Cita
  #3  
Antiguo 19-05-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Tu mismo te das la respuesta en tu pregunta... Usando la propiedad KeyValue puedes seleccionar que registro se mostrará...

Ahora, si el TDBLookupComboBox está asociado con un campo (propiedad FieldName), entonces con iniciar ese campo con un valor predeterminado basta.


Saludos...
Responder Con Cita
  #4  
Antiguo 19-05-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Thoronluin, utiliza la propiedad KeyValue:

Código Delphi [-]
  DBLookupComboBox.KeyValue := Query1.FieldByName('codigo').AsInteger; //codigo sería el campo que has asignado a KeyField

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 19-05-2010
Thoronluin Thoronluin is offline
Miembro
 
Registrado: feb 2009
Posts: 39
Poder: 0
Thoronluin Va por buen camino
Hola a todos y muchas gracias por responder tan rápido.

Empiezo por Jhonjhon_123, en los Combobox es lo que uso pero aquí no me funcionaba.

A maeyanes y Caro, siempre había usado Keyfield como salida pero no sabía que me pudiera funcionar a la inversa. Entonces ¿si fuerzo un valor en el Keyvalue el combo se actualiza mostrando el valor asociado del Listfield? esto es muy interesante y muy útil.

Lo del campo Fieldname no lo recuerdo exactamente ahora como lo tengo, pero lo revisaré.

No tengo el Delphi aquí pero probaré las dos sugerencias mañana a primera hora.

Muchísimas gracias a los tres y ya les contaré.
Responder Con Cita
  #6  
Antiguo 22-05-2010
Thoronluin Thoronluin is offline
Miembro
 
Registrado: feb 2009
Posts: 39
Poder: 0
Thoronluin Va por buen camino
Al final usé la solución propuesta por maeyanes y Caro y funcionó perfectamente.

De nuevo, gracias a los tres.
Responder Con Cita
  #7  
Antiguo 06-09-2016
dardusso23 dardusso23 is offline
Miembro
NULL
 
Registrado: jun 2016
Posts: 37
Poder: 0
dardusso23 Va por buen camino
Hola! yo estoy usando un DBlookupCOmbobox pero de devExpress y no esta la opcion de keyValue. Alguien sabe cual seria la alguna que funcione de la misma manera?
gracias
Responder Con Cita
  #8  
Antiguo 06-09-2016
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Prueba con la propiedad EditValue del cxDBLookupComboBox.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como hacer que un DBLookupComboBox muestre un historico de nombres seleccionados? mematanlimon OOP 4 28-01-2010 18:00:35
Consulta que muestre Si o No segun el valor Cecil SQL 4 17-01-2008 00:49:38
Asignar valor a un DBLOOKUPCOMBOBOX lucasarts_18 OOP 3 30-10-2005 23:35:21
Valor por defecto en DBLookUpComboBox Durbed OOP 1 08-07-2005 19:05:54
valor predeterminado en DBLookupCombobox Johnny Q OOP 9 23-06-2005 17:54:27


La franja horaria es GMT +2. Ahora son las 07:32:02.


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
Copyright 1996-2007 Club Delphi