Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-08-2008
Rako Rako is offline
Miembro
 
Registrado: mar 2007
Posts: 39
Poder: 0
Rako Va por buen camino
Limpiar un DBLookUpComboBox

Es un problema tonto pero no consigo solucionarlo xD

La primera vez que arranca el programa pues a pesar de tener opciones metidas sale sin nada marcado, pero una vez marcas algo, al reabrir esa pantalla sale con lo ultimo seleccionado y no consigo que no salga nada. he probado varias cosas como quitarle el adotable al q esta asociado y volverselo a poner, buscar opciones como "listindexitem" o algo asi es, y ponerselo a -1 o 0 y nada, ya no se como limpiarlo XDD

bueno pues muchas gracias
Responder Con Cita
  #2  
Antiguo 14-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
¿que te refieres con 'limpiarlo'? El valor del texto, sera el del campo asociado, (datafield) por lo que para que no muestre nada, puedes probar o bien de poner ese campo a '' (cambiando su valor en la base de datos) o bien poniendo datasource := nil y luego al necesitarlo restaurarla de nuevo. Si lo que quieres es que no muestre la lista, puedes hacer algo parecido con ListSource
Responder Con Cita
  #3  
Antiguo 14-08-2008
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 Rako, tienes que utilizar la propiedad KeyValue del DBLookUpComboBox y para que aparesca un valor seleccionado en tu DBLookUpComboBox también utilizas esa misma propiedad.

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

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
  #4  
Antiguo 14-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Ten en cuenta por eso, que al cambiar KeyValue estaras cambiando el valor en la base de datos correspondiente a KeyField. saludos.
Responder Con Cita
  #5  
Antiguo 14-08-2008
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
Cita:
Empezado por coso Ver Mensaje
Ten en cuenta por eso, que al cambiar KeyValue estaras cambiando el valor en la base de datos correspondiente a KeyField. saludos.
Hola coso, que yo sepa no cambia en valor en la BD. Digamos que nuestro KeyField es el campo Codigo, si asiganmos al KeyValue el codigo 2 "DBLookupComboBox1.KeyValue := '2';", lo que hara es seleccionar ese item en nuestro DBLookupComboBox, como le estamos pasando vacio '', al no encontrar, no selecciona nada y lo deja como estaba al principio.

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
  #6  
Antiguo 14-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
datasource, datafield : datasource y campo destino
listsource, listfield : datasource y campos que se muestran al desplegar
keyfield : campo que verdaderamente se pasa al seleccionar un item
keyvalue : filtro que selecciona desde la lista.

Al seleccionar un item de la lista, te cambiara datafield destino ¿no? tendria que probarlo pero creo que es asi. Al no seleccionar ninguno (seleccionando nil), te dejaria datafield := nil, cambiando asi el campo destino

Caro, Acabo de hacer una prueba y si, cambia el valor en la base de datos, dejando ese campo en nil (aunque no postea los cambios al momento).
PD: que raro, ahora ya no me lo hace, solo devuelve el valor anterior...voy a mirar bien
PDD: no no no me lo cambia si es nil, aunque me lo ha hecho...debo tener algun post por algun lado

Última edición por coso fecha: 14-08-2008 a las 16:49:26.
Responder Con Cita
  #7  
Antiguo 14-08-2008
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 de nuevo coso , inclusive asignando DBLookupComboBox1.KeyValue := null; o '' no me cambia en la Base de Datos, solo hace lo que he explicado arriba. Yo tengo asignados mis propiedades ListSource, ListField y KeyField, claro que no tengo asignado nada ni en DataSource ni en DataField del DBLookupComboBox.

Salduitos
__________________
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
  #8  
Antiguo 14-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Si si, no me lo ha vuelto a hacer. Puse un dblookupcombobox en un proyecto activo asi rapido para probarlo. Debia activar algun evento onchange y postear. La cuestion es que a mi (unica y exclusivamente, como si lo hubiese pedido ) me lo ha hecho. Y ya no lo ha hecho mas .
Responder Con Cita
  #9  
Antiguo 14-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Cita:
Yo tengo asignados mis propiedades ListSource, ListField y KeyField, claro que no tengo asignado nada ni en DataSource ni en DataField del DBLookupComboBox.
asi igualmente, seguro que no lo modificaria igualmente...
Responder Con Cita
  #10  
Antiguo 21-05-2010
F3DeX F3DeX is offline
Registrado
 
Registrado: mar 2010
Posts: 2
Poder: 0
F3DeX Va por buen camino
Arrow Aca la solución

Buscando en google, (porque tenia un problema similar), encontre este tema.
Y para solucionarlo (uso DELPHI 2010), tuve que hacer en el evento Activate del Form donde estaba el DBlookUpComboBox:

Código:
if DataM.<TABLA>.RecordCount=0 then
    DbLookUpComboBox1.Enabled:=false
  else begin
    DbLookUpComboBox1.Enabled:=true;
    DBLookupComboBox1.KeyValue:=1;
  end;
Me fijo si en la tabla hay registros. Si no hay pone eneabled en falso.
Sino, lo pone en verdadero, pero ademas pone el KeyValue en 1 (osea que selecciona la primera opcion de la lista).

Espero que a alguien le haya ayudado
Responder Con Cita
  #11  
Antiguo 21-05-2010
Rako Rako is offline
Miembro
 
Registrado: mar 2007
Posts: 39
Poder: 0
Rako Va por buen camino
Muchas gracias chicos
Responder Con Cita
  #12  
Antiguo 25-05-2010
F3DeX F3DeX is offline
Registrado
 
Registrado: mar 2010
Posts: 2
Poder: 0
F3DeX Va por buen camino
Cita:
Empezado por F3DeX Ver Mensaje
Buscando en google, (porque tenia un problema similar), encontre este tema.
Y para solucionarlo (uso DELPHI 2010), tuve que hacer en el evento Activate del Form donde estaba el DBlookUpComboBox:

Código:
if DataM.<TABLA>.RecordCount=0 then
    DbLookUpComboBox1.Enabled:=false
  else begin
    DbLookUpComboBox1.Enabled:=true;
    DBLookupComboBox1.KeyValue:=1;
  end;
Me fijo si en la tabla hay registros. Si no hay pone eneabled en falso.
Sino, lo pone en verdadero, pero ademas pone el KeyValue en 1 (osea que selecciona la primera opcion de la lista).

Espero que a alguien le haya ayudado
Perdón, me faltó explicar que el valor que le damos al keyvalue debe ser uno que sea acorde al keyField.

Por ejemplo, si en el keyField pusimos el numero de producto, en el keyValue no basta con poner un numero cualquiera, debe ser un numero que exista en la tabla, en el campo que elegimos como KeyField.
Sino no funciona
Responder Con Cita
Respuesta



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
Limpiar tabla MAXIUM Firebird e Interbase 2 08-01-2008 21:41:31
Limpiar...DBLookupComboBox... Luis Castillo Conexión con bases de datos 2 03-11-2005 22:08:27
limpiar un DBLookupComboBox lola OOP 4 07-10-2005 21:40:14
¿ Limpiar un campo ? !3d1@n Conexión con bases de datos 2 11-03-2005 12:19:00
Limpiar una tabla bustio SQL 1 11-01-2004 13:22:09


La franja horaria es GMT +2. Ahora son las 01:03:43.


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