Nella finestra di esecuzione del Book associato, una Grid dispone di alcune funzionalità per l'analisi a posteriori del risultato ottenuto, tra le quali l'impostazione di filtri sui dati esposti.
Il pulsante Show/Hide filters del gruppo Grid del tab Book del ribbon, se attivo, attiva una Special Row al di sotto delle intestazioni di colonna di ogni Band, che permette di impostare diverse tipologie di filtri per i campi sottostanti. La reimpostazione di tutti i filtri può essere effettuata con il pulsante Reset filters
, dello stesso gruppo.
È possibile specializzare la visualizzazione di questa Special Row a livello delle singole Band, mediante la Band Property, della classe Overrride, AllowRowFiltering. Essa consente dimostrare/nascondere la riga dei filtri relativa alla Band corrente, indipendentemente dal comportamento impostato mediante il tasto Filter. Questa proprietà può assumere i valori:
✓ False per nascondere la riga dei filtri nella Band corrente;
✓ True per visualizzare la riga dei filtri nella Band corrente;
✓ Default coincide con True.
L'aspetto grafico della Special Row dei filtri può essere modificato mediante le seguenti Band Property di tipo Appearance:
✓ FilterRowAppearance, definisce uno stile grafico per l'intera riga dei filtri;
✓ FilterCellAppearance configura uno stile grafico per tutte le celle della riga dei filtri;
✓ FilterRowAppearanceActive imposta uno stile grafico da applicare alla riga dei filtri in caso almeno un filtro sia valorizzato;
✓ FilterCellAppearanceActive definisce uno stile grafico da applicare alle celle valorizzate della riga dei filtri.
Per poter apprezzare le differenze tra le proprietà FilterRowAppearance e FilterCellAppearance è necessario attribuire alla Band Property CellSpacing, nella classe Override, un valore positivo e non nullo. Questa proprietà infatti permette di creare uno spazio in pixel intorno alle celle di una riga.
Altre Band Property con cui modificare l'aspetto della riga dei filtri sono:
✓ FilterRowSpacingBefore definisce lo spazio in pixel tra le intestazioni di colonna e la riga dei filtri;
✓ FilterRowSpacingAfter definisce lo spazio in pixel tra la riga dei filtri ed il contenuto della Band;
✓ FilterClearButtonAppearance applica uno specifico stile grafico ai pulsanti per la rimozione dei filtri impostati;
✓ FilterClearButtonLocation modifica la visualizzazione dei pulsanti per la rimozione dei filtri impostati.
La proprietà FilterClearButtonLocation può assumere i valori:
✓ Hidden nasconde tutti i pulsanti per la rimozione di filtri;
✓ Cell mostra solo i pulsanti per la rimozione dei filtri impostati sulle singole colonne;
✓ Row mostra solo il pulsante per la rimozione contemporanea di tutti i filtri;
✓ RowAndCell mostra tutti i pulsanti per la rimozione di filtri;
✓ Default coincide con RowAndCell.
I filtri di una Band possono essere ulteriormente personalizzati con l’ausilio delle seguenti Band Property della classe Override:
✓ FilterUIType permette di impostare una specifica modalità di visualizzazione dei filtri;
✓ FilterOperandStyle specifica il tipo di editor mediante il quale definire filtri;
✓ FilterComparisonType consente di specificare se eventuali filtri testuali siano sensibili alle lettere maiuscole;
✓ RowFilterAction consente di impostare il comportamento delle righe non selezionate da un filtro;
✓ FilterOperatorLocatoin determina la posizione dell'editor con cui definire l'operazione di filtro.
La proprietà FilterUIType può assumere i valori:
✓ FilterRow visualizza un'apposita riga speciale in cui impostare i filtri;
✓ HeaderIcons sostituisce la riga speciale con un'icona nelle intestazioni di colonna corrispondenti, con cui accedere alla lista di filtri impostabili;
✓ Default coincide con HeaderIcons.
La proprietà FilterOperandStyle può assumere i valori distinti a seconda del valore assunto dalla proprietà FilterUIType.
In caso di FilterRow può assumere i valori:
✓ None nasconde la riga dei filtri;
✓ Disabled disabilita la riga dei filtri;
✓ Edit consente di specificare manualmente, nella riga dei filtri, il valore rispetto al quale filtrare;
✓ DropDownList consente di scegliere il valore rispetto al quale filtrare, mediante una drop-down dedicata;
✓ Combo combina Edit e DropDownList;
✓ UseColumnEditor coincide con Edit, ma visualizza anche le maschere di input per il formato della colonna corrispondente;
✓ Excel permette di impostare filtri mediante un riquadro stile Excel;
✓ Default coincide con Combo.
In caso di HeaderIcons può assumere i valori:
✓ Default consente di impostare filtri selezionandoli da una semplice lista;
✓ Excel permette di impostare filtri mediante un riquadro stile Excel.
In ogni nuova Grid le proprietà FilterUIType e FilterOperandStyle sono preimpostate a livello di Grid, rispettivamente, a FilterRow e Combo, influenzando i valori Default delle analoghe proprietà a livello di Band. |
La proprietà FilterComparisonType può assumere i valori:
✓ CaseInsensitive in caso il filtro interpreti allo stesso modo lettere maiuscole e minuscole;
✓ CAseSensitive in caso il filtro distingua tra lettere maiuscole e minuscole;
✓ Default coincide con CaseInsensitive.
La proprietà FilterOperatorLocatoin può assumere i valori:
✓ Hidden nasconde l'editor;
✓ AboveOperand posiziona l'editor sopra la riga dei filtri;
✓ WithOperand posiziona l'editor all'interno di ciascuna cella della riga dei filtri;
✓ Default coincide con Hidden.
In aggiunta, le seguenti proprietà possono essere impostate:
✓ FilterOperatorAppereance permette di definire lo stile grafico dell'editor;
✓ FilterOperatorDefaultValue consente di mostrare un valore di default dell'editor;
✓ FilterOperatorDropDownItems consente di esplicitare in drop-down gli item da utilizzare nell'editor.
La proprietà RowFilterAction può assumere i valori:
✓ AppearanceOnly visualizza anche le righe escluse dal filtro;
✓ DisableFilteredOutRows visualizza anche le righe escluse dal filtro come disabilitate;
✓ HideFilteredOutRows nasconde le righe escluse dal filtro;
✓ Default coincide con HideFilteredOutRows.
Per apprezzare meglio la differenza tra righe filtrate e righe escluse dal filtro, è possibile modificarne l'aspetto grafico mediante le seguenti Band Property di tipo Appearance:
✓ FilteredOutRowAppearance definisce uno stile grafico per le righe escluse dal filtro;
✓ FilteredInRowAppearance imposta uno stile grafico per le righe filtrate;
✓ FilteredOutCellAppearance definisce uno stile grafico per le celle di escluse dal filtro;
✓ FilteredInCellAppearance imposta uno stile grafico per le celle di righe filtrate.
Per rendere visibili le differenze di queste proprietà rispetto a righe e celle è nuovamente necessario attribuire alla Band Property CellSpacing un valore positivo e non nullo. |
In caso di layout master-detail è possibile decidere su quali righe applicare i filtri impostati in una Band di dettaglio, mediante la Band Property della classe Overrride RowFilterMode. Essa può assumere i valori:
✓ AllRowsInBand applica il filtro su tutte le righe della detail Band corrente;
✓ SibilingRowsOnly applica il filtro solo al gruppo di righe della detail Band sul quale è stato impostato;
✓ Default coincide con AllRowsInBand.
La proprietà RowFilterMode è efficace solo nel caso in cui la proprietà ViewStyleBand, relativa al layout master-detail, non sia impostata a Horizontal. |