TTprxADODataSet Options FiltroIncrementalForm
Ir a la navegación
Ir a la búsqueda
Descripción
El form TTprxADODataSet_Options_FiltroIncrementalForm (Filtro incremental F1) permite filtrar una grilla (sobre una columna) con dos opciones:
- Ingreso de texto incremental posicionando el cursor sobre el primer registro que comienza con esas letras:

- Ingreso de texto y filtrando por los registros que incluyen ese texto (hay que marcar el campo "Conteniendo"):

El form se invoca picando la tecla F1 sobre la columna de la grilla TfvsDGBrid que queremos filtrar.
Identidad
- Ancestro: TfvsForm
- Carpeta: C:\DevelopPrx\library
- Archivo: prxADODataSet_Options_FiltroIncrementalForm.pas
Declaración
type TTprxADODataSet_Options_FiltroIncrementalForm = class(TTfvsForm) Panel1: TPanel; Panel2: TPanel; Panel3: TPanel; Panel4: TPanel; ComboBox_COLUMNAS: TComboBox; Panel5: TPanel; Panel6: TPanel; Panel7: TPanel; Panel8: TPanel; Panel9: TPanel; Panel10: TPanel; Panel11: TPanel; Button1: TButton; EditTEXTO: TEdit; CheckBox_Conteniendo: TCheckBox; ButtonRESET: TButton; procedure FormShow(Sender: TObject); procedure EditTEXTOKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure EditTEXTOChange(Sender: TObject); procedure CheckBox_ConteniendoClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(Sender: TObject); procedure ComboBox_COLUMNASSelect(Sender: TObject); procedure ButtonRESETClick(Sender: TObject); private FGrid: TDBGrid; FColumn: TColumn; Fdataset_filtered: Boolean; Fdataset_filter: String; FADOFilter: TprxADODataSet_Options_Busqueda; FRefreshing: Boolean; protected function SelectedColumn: TColumn; property dataset_filtered: Boolean read Fdataset_filtered write Fdataset_filtered; property dataset_filter: String read Fdataset_filter write Fdataset_filter; property ADOFilter: TprxADODataSet_Options_Busqueda read FADOFilter write FADOFilter; property Refreshing: Boolean read FRefreshing write FRefreshing; property Column: TColumn read FColumn write FColumn; public property Grid: TDBGrid read FGrid write FGrid; end;
property Grid: TDBGrid read FGrid write FGrid;
Inicializado con la grilla que llamó al form.
function SelectedColumn: TColumn
Retorna la columna seleccionada.
Implementación
procedure EditTEXTOChange(Sender: TObject)
Cada vez que se cambia el texto del control de edición:
- Si estamos haciendo una búsqueda incremental intenta localizar un registro en la grilla que comience con el texto ingresado, el comando es:
if (Trim(EditTEXTO.Text) <> '') and (CheckBox_Conteniendo.Checked = False) then begin Grid.DataSource.DataSet.Locate(Column.FieldName, EditTEXTO.Text, [loPartialKey]); end
- Si estamos filtrando lo hace con:
else if Trim(EditTEXTO.Text) <> '' then begin if Grid.DataSource.DataSet.Filtered then Grid.DataSource.DataSet.Filtered := False; Grid.DataSource.DataSet.Filter := Column.FieldName + ' LIKE ' + Q('%' + EditTEXTO.Text + '%'); Grid.DataSource.DataSet.Filtered := True; end
Uso
Este filtro se usa en: