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 08-05-2012
dekorone16 dekorone16 is offline
Registrado
NULL
 
Registrado: abr 2012
Posts: 9
Poder: 0
dekorone16 Va por buen camino
Hola

tengo este codigo en el evento onChange y tambien lo eh probado en el onKeyPress, es el mismo que publicaste al principio solo que no encuentro el error para que al momento de seleccionar el registro que quiero se eliminen los demas items

Código:
with TComboBox(Sender) do
  begin
    if Text > '' then
    begin
      dm.q3.Close;
      dm.q3.SQL.Clear;
      dm.q3.SQL.Add('SELECT Nombre FROM rh_empleados');
      dm.q3.SQL.Add('WHERE Nombre LIKE UPPER(:Nombre)');
      dm.q3.ParamByName('Nombre').AsString:= ComboBox1.Text+'%';
      dm.q3.Open;
      while not dm.q3.Eof do
      begin
        if Items.IndexOf(dm.q3.FieldByName('Nombre').AsString) = -1 then
           ComboBox1.Items.Add(dm.q3.FieldByName('Nombre').AsString);
           dm.q3.Next;
      end;
           Height:= DropDownCount * CBOX_HEIGHT;
    end
    else
    begin
          Clear;
          Height:= CBOX_HEIGHT;
    end;
  end;
Responder Con Cita
  #2  
Antiguo 08-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola dekorone16.

Como ya te comente en el mensaje #14:
Cita:
Lo que podría no ser el evento que desees considerar para determinar que un ítem a sido seleccionado. Pero basta con ejecutar el código en el evento que prefieras para obtener el comportamiento. Como por ejemplo en OnKeyPreess cuando se presione tecla Intro.
Más concretamente, ¿ Cuando deseas que se considere que se ya se realizó la selección ?
  • ¿ Cuando se presionó Intro ?
  • ¿ Cuando se hizo doble click ?
  • ¿ Cuando abandona el componente ?
Entonces, todo pasa por poner el código que te indiqué en el evento que desees, eso ya es tu decisión.

Para ejemplificar voy a considerar que el usuario seleccionó un item en cualquiera de estos casos:
  1. Presionó la tecla Enter.
  2. Hizo doble click sobre la lista
  3. Salió del componente.

Código Delphi [-]
...
procedure LimpiarYPlegar(AComboBox: TComboBox);
begin
  // Código que limpia los items y pliega el combo
  with AComboBox do 
  begin
    Items.Clear;
    Height:= CBOX_HEIGHT
  end;
end;

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then  // Tecla Intro ?
    LimpiarYPlegar(TComboBox(Sender)) 
end;

procedure TForm1.ComboBox1DblClick(Sender: TObject);
begin
  LimpiarYPlegar(TComboBox(Sender))
end;

procedure TForm1.ComboBox1Exit(Sender: TObject);
begin
   LimpiarYPlegar(TComboBox(Sender))
end;
Como es llamado desde tres eventos, para evitar redundancia puse el código dentro de un procedimiento, pero como verás es la misma porción de código de que he estado hablando.

En cualquier caso, encontrarás el valor seleccionado en la propiedad Text del TComboBox o cadena vacía si ninguno fué seleccionado.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 08-05-2012
dekorone16 dekorone16 is offline
Registrado
NULL
 
Registrado: abr 2012
Posts: 9
Poder: 0
dekorone16 Va por buen camino
Hola

Muchísimas gracias con ese procedimiento ya quedo, gracias y perdón por la insistencia !!!!
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
busqueda incremental lucas05 Varios 15 23-08-2010 20:21:04
Busqueda incremental con ComboBox Lenny Varios 2 18-05-2010 01:02:34
busqueda incremental con mysql schaka SQL 2 09-02-2008 04:56:06
Consulta Busqueda Incremental Gustavo Gowdak SQL 1 13-12-2004 09:27:08
busqueda incremental con ado slat Conexión con bases de datos 1 11-07-2004 18:32:52


La franja horaria es GMT +2. Ahora son las 06:13:11.


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