English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Versioni precedenti
  • Versione 8.5.3800
  • Novità

PAN: Ricerche in pannelli DO-Detail e IMDB

copia link

Descrizione

E' ora possibile effettuare ricerche nei pannelli DO-Detail e IMDB. Nel primo caso i documenti presenti nella collection vengono solo filtrati. L'utente utilizzatore dell'applicazione web non vede i documenti nascosti ma il programmatore può comunque vederli effettuando, per esempio, cicli For-Each sulla collection del documento. Il secondo caso, invece, è simile a quanto viene già fatto nel caso di pannelli DB-oriented, ovvero viene eseguita una query e vengono caricate le sole righe che corrispondono ai criteri di ricerca impostati dall'utente.

Criteri di ricerca supportati

Elenchiamo qui per completezza, tutti i criteri di ricerca attualmente supportati nelle applicazioni prodotte con Instant Developer:

  • Valore Esatto: introducendo un valore in un campo vengono ricercate tutte le righe il cui valore corrisponde a ciò che è stato digitato. Se il campo è di tipo carattere e il testo digitato non contiene né * né % vengono ricercate tutte le righe il cui valore inizia con ciò che è stato digitato. E' possibile indicare ad Instant Developer che un particolare campo non può mai utilizzare la ricerca per sotto-stringa a meno che l'utente non l'abbia espressamente richiesto. Per disabilitare l'auto-LIKE è sufficiente valorizzare a False la proprietà QBELike del campo di pannello.
  • Maggiore, Minore: utilizzare il simbolo >(valore) o <(valore) per ricercare tutte le righe il cui valore è rispettivamente >= o <= al valore indicato dopo il simbolo. Per esempio scrivendo >5 vengono ricercate tutte le righe il cui valore è maggiore o uguale a 5.
  • Diverso: utilizzare il simbolo #(valore) per ricercare tutti i dati che soddisfano la condizione. Per esempio specificando #5 verranno ricercate tutte le righe il cui valore è diverso da 5.
  • Vuoto: utilizzare il simbolo ! per cercare tutti i dati che hanno il campo non valorizzato.
  • Non Vuoto: utilizzare il simbolo . per cercare tutti i dati che hanno un qualunque valore nel campo.
  • Sotto stringa: utilizzare il simbolo * o % per specificare ricerche in sotto stringa (ad esempio *qua* trova tutti le righe che contengono la parola qua in quel campo).
  • Assomiglia: utilizzare il simbolo & alla fine del testo digitato per ricercare tutte le righe il cui valore assomiglia al valore digitato. Per esempio digitando Dolciume& verranno ricercate tutte le righe il cui valore assomiglia al valore Dolciume. Vedere le note per i dettagli riguardo all'operatore "Assomiglia".
  • Intervallo: utilizzare la notazione (valore1):(valore2) per richiedere un intervallo. Per esempio è possibile specificare 1:3 per indicare tutte le righe il cui valore è compreso tra 1 e 3, estremi inclusi. E' anche possibile specificare un intervallo di date, per esempio 1/1/2009:31/12/2009.
  • Criteri multipli: separare diversi criteri semplici con il ; per specificare criteri in addizione (ad esempio <10;>20 trova tutti i dati minori o uguali a 10 e anche quelli maggiori o uguali a 20).

Funzionalità interessate

L'uso delle ricerche nei pannelli DO-Detail e IMDB nelle applicazioni web prodotte con Instant Developer.

Note

  • In pannelli IMDB è ovviamente possibile utilizzare anche where-clause definite a design-time. Tali clausole verranno comunque applicate anche se viene utilizzata la ricerca. Quindi se in un pannello viene inserita a design-time la clausola Where SOSPESO=-1 non sarà comunque possibile ricercare righe aventi il campo SOSPESO con valore diverso da -1.
  • La funzione "Assomiglia" corrisponde all'operatore SOUNDEX presente nella maggior parte dei database. Il funzionamento è il seguente: per ogni record viene calcolata una stringa utilizzando l'algoritmo indicato sotto. Qualora una riga possieda lo stesso valore SOUNDEX del testo digitato la riga viene inclusa nella ricerca. L'algoritmo per il calcolo della stringa associata ad un determinato valore è il seguente:
    1. Viene presa la prima lettera del valore del campo
    2. Vengono ignorate le lettere a, e, h, I, o, u, w, e y (questa regola non si applica alla prima lettera)
    3. Viene assegnato il valore:
      • 1 alle lettere b, f, p, v
      • 2 alle lettere c, g, j, k, q, s, x, z
      • 3 alle lettere d, t
      • 4 alla lettera l
      • 5 alle lettere m, n
      • 6 alla lettera r
    4. Ogni lettera che fornisce lo stesso valore della lettera precedente viene ignorato. Per esempio se la parola contiene BB, questa produce sempre il numero 1 dato che anche la seconda B fornisce il valore 1. La sequenza BAB, quindi, fornisce solo il valore 1 dato che la prima B fornisce il valore 1, la A deve essere scartata e la seconda B fornisce anch'essa il valore 1 ma poiché uguale all'ultimo valore valido viene scartata.
    5. La lunghezza totale della stringa calcolata deve essere 4. Se inferiore deve essere riempita con il carattere '0' (zero) fino al raggiungimento della lunguezza richiesta.
    Alcuni esempi: SOUNDEX('SCUOLA')=S240, SOUNDEX('GATTO')=G300, SOUNDEX('GADDO')=G300 e come si vede GATTO e GADDO sono simili per cui scrivendo GATTO& verranno restituite sia le righe che contengono GATTO che quelle che contengono GADDO dato che la funzione SOUNDEX restituisce lo stesso valore.

Ultima modifica: 23/03/2021 / Validità: da 8.5.3800

Vedi anche

  • QBE Filter (proprietà)
  • QBE Like (proprietà)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum