Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 31-07-2010
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 19
afunez2007 Va por buen camino
Lightbulb

Hola Jafera

Yo antes usaba un metodo parecido al tuyo para hacer las busquedas, aunque despues me encontre otro mas practico:
Antes usaba este metodo:
1.- un JvDBFindEdit que tiene asociado el datasourse del grid, este compontente que pertence a Jedi Vcl project, hace el trabajo por ti, y tiene 2 modos locate y filter, ademas te permite buscar por fisrtpos o anypos.
2.- un Combo box con los posibles criterios de busqueda (campos)
3.- En el evento OnCloseUp del compo el siguiente codigo:
Código Delphi [-]
procedure TfrmBuscArt.cbbBuscarPorCloseUp(Sender: TObject);
begin
if cbbBuscarPor.ItemIndex=0 then
begin
  JvDBFindEdit1.DataField:='DESCR';
end;
if cbbBuscarPor.ItemIndex=1 then
begin
  JvDBFindEdit1.DataField:='CLV_ART';
end;
if cbbBuscarPor.ItemIndex=2 then
begin
  JvDBFindEdit1.DataField:='CLV_ALTER';
end;
end;

El metodo que utilizo ahora es el siguiente:
1.- un JvDBFindEdit que tiene asociado el datasourse del grid, este compontente que pertence a Jedi Vcl project, hace el trabajo por ti, y tiene 2 modos locate y filter, ademas te permite buscar por fisrtpos o anypos.
2.- Quite el ComboBox ya que este me limita los criterios de busqueda a los que aparecen en el listado y cambie por hacer un evento que cuando hagas click en el titulo de la columna se cambie de criterio de busqueda o sea el campo de la columna que cliqueaste, para esto debes tener activada la propiedad TitleButtons en True en el grid.
3.- En el evento OnTitleBtnClick del grid el siguiente codigo:
Código Delphi [-]
procedure TFORM15.JvDBGrid1TitleBtnClick(Sender: TObject; ACol: Integer;
  Field: TField);
begin
    edtDESCR.DataField:=JvDBGrid1.Columns[Acol].FieldName;
    Caption:='Busqueda de Articulos por '+JvDBGrid1.Columns[Acol].Title.Caption;
    edtDESCR.Find(edtDESCR.Text);
    chkExist.OnClick(Sender);

end;

edtDESCR es el nombre del objeto JvDBFindEdit que utilizo para la busqueda.

Tambien para cambiar el modo de busqueda en cualquier posicion o primera posicion lo hago con un checkbox y el siguiente codigo:
Código Delphi [-]
procedure TFORM15.CheckBox1Click(Sender: TObject);
begin
  if CHECKBOX1.Checked=True then
  begin
    edtDESCR.FindMode:=fmAnyPos;
    edtDESCR.Find(edtDESCR.Text);
  end;
  if CHECKBOX1.Checked=False then
  begin
    edtDESCR.FindMode:=fmFirstPos;
    edtDESCR.Find(edtDESCR.Text);
  end;
end;

Espero te sirvan estas ideas y cualquier duda no mas escribes

Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!!
Responder Con Cita
 



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
Cambio de Moneda dentro de una consulta MaMu SQL 2 10-03-2008 04:34:26
Cambio de tipo en campo berfer Firebird e Interbase 0 23-08-2006 18:45:34
Como cambio las vistas de los resultados de una consulta???? yo_coco_py SQL 1 17-06-2005 18:25:52
Problema cuando cambio la dimension de un campo Durbed Firebird e Interbase 1 06-04-2005 14:21:25
Cambio de extensión en campo de paradox AlJasham Conexión con bases de datos 3 16-07-2004 17:20:39


La franja horaria es GMT +2. Ahora son las 01:54:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi