Modalità di ricerca dati dei pannelli
linkNei pannelli delle videate di Instant Developer abbiamo tre modalità di ricerca dei dati:
- Ricerca classica - stato Search del pannello
- Ricerca avanzata - Click su intestazione
- Ricerca avanzata - campo di ricerca per ogni colonna
Queste tre modalità di ricerca possono essere impostate pannello per pannello nell'evento di Load della videata utilizzando la proprietà di pannello ListQBE.
Esiste l'impostazione generale di applicazione configurabile nel wizard Configura parametri, nella sezione Logiche nel valore Filtri ricerca avanzati.
I tre valori selezionabili corrispondono ai seguenti valori della proprietà ListQBE del pannello:
- Stato Search del pannello - No
- Click su intestazione - Header
- Campo di ricerca per ogni colonna - Row
Analizziamo ognuna di queste modalità di ricerca.
Ricerca classica - stato Search del pannello
I pannelli che utilizzano questa modalità di ricerca, se hanno definito a design time la proprietà Stato iniziale = Ricerca (QBE), attendono che l'utente inserisca i criteri di filtro per il recupero dei dati dal database.
Un pannello in stato Ricerca (QBE), nel caso di tema grafico di tipo Bootstrap, si presenta in modalità dettaglio ed ha l'aspetto seguente:
Per passare dalla modalità ricerca a Trova dati (Esegui query) e viceversa occorre premere F3 oppure cliccare sull'icona a forma di lente presente nella toolbar del pannello.
Nel caso di tema grafico tipo Zen o Seattle questo tipo di ricerca si può ottenere anche in modalità lista.
Le regole di filtro dei campi si possono vedere in fondo all'articolo QBE Filter.
Nei campi di tipo combo sono già elencati i possibili valori ed è possibile selezionarne più di uno.
Ricerca avanzata - click su intestazione
Questa modalità di ricerca è presente dalla versione 18.0 di Instant Developer.
I pannelli che utilizzano questa modalità di ricerca hanno la gestione Ricerca (QBE) disabilitata permettendo di filtrare i valori usando una videata popup apribile cliccando in un punto qualsiasi della caption dei campi in lista (al passaggio del mouse sulla caption compare una piccola icona a forma di imbuto).
In questa videata popup (differente a seconda del tipo di campo) possono essere definiti i filtri da applicare al campo e anche gli ordinamenti.
Qui possiamo vedere l'icona che compare al passaggio del mouse sull'intestazione del campo:
La videata di popup che si apre per impostare i filtri può essere di questo tipo per campi con combo di scelta valori:
Da questa videata è possibile anche ordinare le colonne.
Nel caso di campo di testo avremo questo tipo di filtro:
Ricerca avanzata - campo di ricerca per ogni colonna
Questa modalità di ricerca è presente dalla versione 18.5 di Instant Developer.
I pannelli che utilizzano questa modalità di ricerca hanno la gestione Ricerca (QBE) disabilitata e la prima riga della lista è sempre nello stato QBE e permette di filtrare i dati della colonna. È possibile usare il popup di filtro premendo sull'apposito pulsante a destra del campo QBE. Per ordinare le colonne è sufficiente cliccare sull'intestazione del campo; per ordinare per più campi cliccare tenendo premuto il tasto SHIFT, utilizzare il tasto CTRL è il click del mouse per annullare l'ordinamento.
È sempre possibile aprire la videata popup di filtro cliccando sull'icona a forma di imbuto a destra del campo.
Se è presente la colonna del Selettore di riga del pannello nella riga QBE è presente l'icona per cancellare tutti i filtri e gli ordinamenti contemporaneamente.
Ad esempio è possibile cercare i dati da codice disabilitando i filtri avanzati, trovando i dati e poi riabilitandoli. In questo caso è necessario che il programmatore ripristini lo stato della proprietà al valore corretto.
Esempio di Codice
Pannello.ListQBE = false
Pannello.enterQBE()
Pannello.findData()
Pannello.ListQBE = true
- L'ordinamento applicato tramite videata di filtro è sempre aggiuntivo.
- Se il tema lo supporta è possibile gestire sia il raggruppamento che l'ordinamento dalla videata di filtro.
- È possibile aprire la videata di filtro su di un campo da codice usando la funzione OpenFilterPopup. In questo modo è possibile personalizzare il comportamento permettendo di filtrare anche per campi in dettaglio.
- Se il pannello ha come stato iniziale QBE e su di esso sono attivati i filtri in lista il pannello verrà aperto mostrando tutti i dati. In questo caso il sistema imposta la funzione SetMaxRows del pannello a 10.000 record per evitare che la videata mostri troppi dati.
- La proprietà ListQBE può essere usata per attivare/disattivare i filtri avanzati solo nell'evento di Load della videata.
- La proprietà ListQBE può essere utilizzata per abilitare/disabilitare temporaneamente i filtri avanzati a run-time.
- La modalità Header è disponibile per i temi Seattle, Zen, Simplicity, Casual, Bootstrap, BootstrapZen e Ionic.
- La modalità Row è disponibile per i temi Seattle, Zen, Simplicity, Casual, Bootstrap e BootstrapZen.
Ultima modifica: 27/05/2022 / Validità: da da 6.5.268