Ver Mensaje Individual
  #1  
Antiguo 06-01-2007
Pedro-Juan Pedro-Juan is offline
Miembro
 
Registrado: ago 2006
Ubicación: Barcelona - España
Posts: 315
Reputación: 20
Pedro-Juan Va por buen camino
DBLookupComboBox vacío

Hola a tod@s. Que tengais un feliz y próspero año.
Me gustaría resolver un problema que tengo con el componente DBLookupComboBox. Me explico.
En un form de alta de clientes, quiero poner la nacionalidad del mismo, con un DBLookupComboBox que está asociado al campo pais de una tabla. Supongamos que cuando se a seleccionado el país, el usuario se arrepiente o se equivoca y quiere dejar el combo vacío ¿cómo lo hago?. Hace tiempo utilizaba las librerías RX, aquellas rusas, y me iba muy bien porque tenían un método llamado ResetField, que dejaba el DBLookupComboBox vacío. Algo así:
Código Delphi [-]
 
procedure TFormAddClient.RxDBLookupComboBoxPaisKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_ESCAPE) or (Key = VK_DELETE) or (Key = VK_BACK) then
    FormAddClient.RxDBLookupComboBoxPais.ResetField;
end;
Ahora estoy utilizando unos componentes que no son nativos de delphi (son skins), por eso tampoco utilizo las rusas, pero no tienen este método (ResetField). He solucionado parte del problema con esto:

Código Delphi [-]
 
procedure TFormAddClient.DBLookupComboBoxPaisKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_ESCAPE) or (Key = VK_DELETE) or (Key = VK_BACK) then
    FormAddClient.DBLookupComboBoxPais.KeyField := '';
end;

esto deja el combo vacío, pero luego no se puede seleccionar otro pais si se quiere, se ha de cerrar el form y abrirlo de nuevo.
¿Alguien conoce alguna forma de solucionar esto?
Muchas gracias por adelentado y lo dicho: que tengais un feliz y próspero año.


Última edición por Pedro-Juan fecha: 06-01-2007 a las 09:11:00.
Responder Con Cita