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 19-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
Talking filtro por caracter

hola... necesito filtrar una lista de registro de socio o sea los nombres, por caracteres.. es decir a medida que voy escribiendo en un edit vaya apareciendo las coincidencias en un tdbgrid, muchas gracias por su tiempo....
Responder Con Cita
  #2  
Antiguo 19-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Query o table ?.
Que BD ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 19-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
Talking

el motor es interbase, con un query hice la consulta caral....
Responder Con Cita
  #4  
Antiguo 19-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Tienes que hacer la consulta sql y usar like, algo asi:
Código Delphi [-]
TuQuery.sql.tect:= 'Select Nombre from tuTabla where nombre LIKE '''+ Edit1.Text + '%''';
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 19-05-2011
heroe555 heroe555 is offline
Miembro
 
Registrado: abr 2008
Ubicación: Costa Rica
Posts: 27
Poder: 0
heroe555 Va por buen camino
Lightbulb Filtrar en SQL

Veo que usas un dbgrid. Lo puedes conectar a un dataset y este a su vez a un query. En el evento del edit (On Change), refresca el query, y dejalo en active = True, cuando salgas del form cambia su active a false. Listo!

Un ejemplo de refrescamiento puede ser:
Código Delphi [-]
 
with Query do
 begin
   Active := False;
   SQL.Clear;
   SQL.Add('Select * From Clientes Where Nombre like =:Param0');
   with Parameters do
     Items[0].Value := QuoteStr('%' + edit.text + '%'); //Busca cualquier   coincidencia
   Active := True;
 end;

Nota: Recuerda que también puedes usar filtros.
Responder Con Cita
  #6  
Antiguo 19-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
voy a probarlo.... ah y como hago que me salga en tdbgrip las coincidencias?
Responder Con Cita
  #7  
Antiguo 19-05-2011
heroe555 heroe555 is offline
Miembro
 
Registrado: abr 2008
Ubicación: Costa Rica
Posts: 27
Poder: 0
heroe555 Va por buen camino
Smile Coincidencias en el dbgrid

Las coincidencias salen de forma automatica cada vez que refrescas la consulta, y esta se refresca en el evento OnChange del edit.

Nota: Esto afecta mucho el rendimiento del servidor, más si trabajas en red.
Por tanto, recomiendo que uses una tabla en memoria, como el comopnente virtualtable de devart(gratuito) o bien, el componente que incluye delphi clientdataset.
Responder Con Cita
  #8  
Antiguo 20-05-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Échale un vistazo a este ejemplo a ver si es lo que necesitas.
De todas formas, soy de los que piensan que la búsqueda incremental en los Grid no es adecuada, a no ser que estés convencido de que el Grid va a tener muy pocas filas.
De otra manera estás haciendo muchas más consultas de las estrictamente necesarias.
También debes tener en cuenta el tráfico de red (si es tu caso) que puede generar.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 20-05-2011
negrokau negrokau is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 210
Poder: 14
negrokau Va por buen camino
muchas gracias... lo voy a probar... gracias por tu tiempo...
Responder Con Cita
  #10  
Antiguo 20-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Échale un vistazo a este ejemplo a ver si es lo que necesitas.
De todas formas, soy de los que piensan que la búsqueda incremental en los Grid no es adecuada, a no ser que estés convencido de que el Grid va a tener muy pocas filas.
.
estoy de acuerdo con esto, yo lo hago de una manera un poquito diferente, no ejecuto el query por cada caracter, lo que hago es buscar el dato en la tabla o el query, asi evito un poco el trafico, algo mas o menos asi

Código Delphi [-]
 
procedure TfrmCatalogoTrabajador.edtSearchChange(Sender: TObject);
var _Position :TBookmarkStr;
begin
  if qryTrabajadores.Locate('KOD', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'KOD';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.Show;
    End;
end;
__________________
Dulce Regalo que Satanas manda para mi.....
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
Leer texto caracter a caracter kikecg Firebird e Interbase 11 23-11-2010 17:44:44
Caracter '\' BuenaOnda MySQL 4 12-08-2010 21:04:10
leer caracter por caracter, una linea de un memo douglas OOP 1 05-10-2007 06:59:31
Ayudaaaa!!! Tabla ASCII: El carácter Ñ vs. carácter ¥ Berto2003 Varios 5 26-07-2005 15:37:48
busqueda caracter a caracter Irina SQL 3 20-05-2003 13:12:53


La franja horaria es GMT +2. Ahora son las 05:31:28.


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