Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Filtrado (https://www.clubdelphi.com/foros/showthread.php?t=33852)

aanil 19-07-2006 00:21:58

Filtrado
 
Bueno, he estado buscando orientación con respecto a filtrado de datos en una tabla, no quiero usar SQL, ya que es para practicar la propiedad Filter del DataSet.

Bueno esta es la idea, como la ven funciona , pero quiero saber donde debo de colocar la opciones de filtrado: Tabla1.FilterOptions:=[foCaseInsensitive]; ya que la he puesto en varios sitios y el error que dice es: FilterOption are not Supported, o qué está malo, el codigo ya es viejo de otra práctica.

Este es el codigo del evento OnKeyDown del edit1.text para filtrar datos.


if key = vk_Escape then begin
datam.Tabla1 .Filtered := False; //Quitamos el filtro/
end;
If key = vk_return then begin
if rb1.checked then begin

datam.tabla1.Filter := 'Carnet = '''+ edit1.Text+'''' ;
end else
if rb2.checked then begin
datam.Tabla1 .Filter := 'Cedula = ''' + edit1.Text + '''';
end else
if rb3.checked then begin
datam.tabla1.Filter := 'Apellido1 = ''' + edit1.Text + '''';
end else
if rb4.checked then begin
datam.tabla1.Filter := 'Nombres = ''' + edit1.Text + '''';
end;
datam.tabla1.Filtered := true;
edit1.SetFocus;
end;
end;



Antonio Anil
República Dominicana.

nemesio 19-07-2006 00:52:44

Para filtrar debes tener la propiedad Filtered:=True
Ejemplo:

Código Delphi [-]
procedure TFormAgenda.Button1Click(Sender: TObject);
begin
   Databases.TableAgenda.Filtered:=True;
   Databases.TableAgenda.Filter:=  CondicionDelFiltro ;
 
end;

Suerte

aanil 19-07-2006 01:39:15

Filtrado
 
Te agradezco tu colaboración, pero observa que no es esa la inquietud,

Es como se usa FilterOption:= [foCaseInsensitieve]; para que se haga una busqueda conicidentes con los primeros caracteres de un String.

Gracias de todos modos.

nemesio 19-07-2006 02:52:45

Ok, para buscar con los primeros caracteres coincidentes de una cadena prueba lo siguiente:
Código Delphi [-]
Table1.Filter:= 'Nombre = ' + chr(39)+CadenaABuscar+'*'+chr(39);
Agregando el Comodin '*', te ayuda a buscar todas los registros que comiencen por esa cadena.

Suerte.


La franja horaria es GMT +2. Ahora son las 13:42:09.

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