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 01-08-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Busquedas en combobox

Ho,a a todos, agluien conoce algun componente tipo Tcombobox o Tlookupcombobox que tenga implementado algun evento de busqueda secuencial entre los items pero que busque multipalabras segun se vaya escribiendo sin importar el orden de estas palabras.

Gracias por sus opiniones
Responder Con Cita
  #2  
Antiguo 01-08-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 cmfab.

No entiendo bién a que te refieres con busqueda secuencial, pero ambos componentes implementan la busqueda incremental. Es decir que si tenemos los Items:
Código:
Iz
aaa
Ix
Ixa
Y se presiona la 'I' se posiciona en el primer elemento y luego la 'x' se posiciona en el tercero. Por último si se presiona la 'a' se ubicará en el cuarto elemento aunque no esten ordenados.

Pero tal vez no haya interpretado lo que estas buscando...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-08-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias ecfisa, quiza no me haya expresado bien. osea lo que busco mas que todo es si existe la posiblidad de busuedas multipalabras, osea escribo dos palabras separdas por un espacio en el combobox y que encuentre las ocurrencias no importa el orden en la lista por ejemplo escribo: "Naranja Platano", que me encuentre todos los items que contienen la palabra "Naranja" y todos tambien los que contienen la palabra "Platano"

un saludo
Responder Con Cita
  #4  
Antiguo 01-08-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 cmfab.

No conozco un componente con esas características, pero como para darte una idea, podrías implementar algo con un comportamiento similar mediante un TComboBox y, en este ejemplo, un TSpeedButton:

Código Delphi [-]
// cargar el campo domicilio en el combo
procedure TForm1.FormCreate(Sender: TObject);
begin
  with IBQuery1 do
  begin
    Close;
    SQL.Text:= 'SELECT * FROM CLIENTES';
    Open;
    while not eof do
    begin
      ComboBox1.Items.Add(FieldByName('DOMICILIO').AsString);
      Next;
    end;
  end;
  ComboBox1.ItemIndex:= 0; 
end;

// Buscar por términos
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  TS: TStringList;
  s: string;
  i: Integer;
begin
  TS:= TStringList.Create;
  TS.Delimiter:= ' ';
  TS.DelimitedText:= UpperCase(ComboBox1.Text);
  s:='WHERE ';
  for i:= 0 to TS.Count-1 do  
    s:= s + 'DOMICILIO' + ' CONTAINING UPPER('+ QuotedStr(TS[i]) + ')AND ';
  SetLength(s, Length(s)-Length(')AND'));
  with IBQuery1 do
  begin
    Close;
    SQL.Text:= 'SELECT * FROM CLIENTES ' + s;
    Open;
  end;
end;
De este modo podras filtrar por 2, 3,...,N términos ( siempre que estén separados por un espacio ). Desconozco si tu SGBD soporta la cláusula CONTAINING pero seguramente tenga alguna similar.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 01-08-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
así es tambien imaginé que no existiría, así que es un buen ejemplo para comenzar a analizarlo. mil gracias por el código, de fijo lo implementaré
Responder Con Cita
  #6  
Antiguo 02-08-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 cmfab.

Cometí una omisión en el código anterior, debería ser:
Código Delphi [-]
// Buscar por términos
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  TS: TStringList;
  s: string;
  i: Integer;
begin
  TS:= TStringList.Create;
  try
    TS.Delimiter:= ' ';
    TS.DelimitedText:= UpperCase(ComboBox1.Text);
    s:='WHERE ';
    for i:= 0 to TS.Count-1 do
      s:= s + 'DOMICILIO' + ' CONTAINING UPPER('+ QuotedStr(TS[i]) + ')AND ';
  finally
    TS.Free;
  end;
  SetLength(s, Length(s)-Length(')AND'));
  with IBQuery1 do
  begin
    Close;
    SQL.Text:= 'SELECT * FROM CLIENTES ' + s;
    Open;
  end;
end;
Disculpas.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 02-08-2012
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias una vez mas por el gran aporte
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
Genero comboBox en dbgrid y cuando hago dos veces click desaparece el comboBox. mcalmanovici Varios 1 29-02-2012 15:09:15
Busquedas en XML jamlaboira Internet 2 07-04-2011 12:19:21
como mostrar la ventana de lenar inten de un combobox en tiempo de un combobox gulder Varios 3 19-05-2007 19:55:58


La franja horaria es GMT +2. Ahora son las 01:23:06.


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