Inserimento dati personalizzabile: Tabella basata su query

Da wiki.maggioli.it.
Versione del 15 lug 2013 alle 10:51 di imported>Root
Jump to navigation Jump to search

Questo oggetto permette di visualizzare i dati letti da una query sul database, presentandoli all'utente in forma tabellare. L'utente a sua volta può scegliere uno o più righe. A questo punto è possibile estrarre i dati selezionati dall'utente ed usarli nelle successive fasi di elaborazione.

Attributi specifici

design_time_query

Indica se la query deve popolare la griglia anche a design time (utile per debug della query). La query viene attivata quando sono stati specificato almeno la clausola SELECT e la clausola FROM. E' opportuno impostare il parametro ad ON solo quando si e' composta una query congruente in quanto una query incompleta genera molto probabilmente degli errori. Inoltre potrebbe essere scomodo lavorare con query attiva se questa è molto pesante. Il parametro risulta utile sola con query che risultano coerenti anche a design time. Per la query che fanno leva sul valore degli attributi a runtime molto probabilmente viene generato un errore.

  • ON: La query si attiva a design time
  • OFF: La query non è attiva a design time

columns

Permette di definire i dati da visualizzare nella griglia. Se non specificato viene sottintesa una colonna che mostra il valore stringa del primo oggetto selezionato dalla query. Quindi se la query contiene una select di più oggetti, quelli successivi al primo non vengono visualizzati finchè non si definiscono le colonne opportune.

select

Permette di specificare quali dati fare leggere alla query. Essendo la query scritta in HQL non è possibile specificare cose del tipo "*", ma è necessario indicare chiaramente cosa si vuole caricare. E' possibile specificare una classe java mappata sul database (esempio: An1DACAnagrafeUnica che è mappato sulla tabella an1_anagrafe_unica) oppure i singoli campi di una classe (esempio: cognome e nome dell'anagrafica unica). Nel primo caso la query torna 1 (uno) singolo oggetto complesso contenente tutti i dati della tabella (cognome, nome ecc...) nel secondo caso la query torna tanti oggetti semplici.

E' possibile anche mischiare oggetti semplici e complessi nella select, in funzione delle necessità. Ad ogni modo è importante capire che ogni oggetto indicato nella select ha un indice progressivo: il primo ha indice 0, il secondo ha indice 1 e via dicendo. Se il primo oggetto è un oggetto complesso, questo avrà indice 0 ed una moltitudine di attributi (cognome, nome ecc...) tutti appartenenti all'oggetto con indice 0.

from

Indica la sorgente dei dati. E' possibile definire join con le regole di HQL.

where

Indica la condizione di filtraggio dei dati. Segue le regole di HQL.

group_by

Raggruppamento secondo le regole di HQL.

having

Having secondo le regole di HQL.

order_by

Ordinamento secondo le regole di HQL.

selection_type

Indica alla tabella le possibilità di selezione offerte all'utente.

  • SINGLE: permette di selezionare una sola riga
  • SINGLE_INTERVAL: permette di selezionare più righe ma in un blocco unico
  • MULTIPLE_INTERVAL= permette di selezionare blocchi disgiunti o singole righe sparse

cell_count [LONG] 0 row_data_count [LONG] 1 row_data_1_index [LONG] 0 row_1_long row_1_double row_1_date row_1_string

Attributi di base

Per una spiegazione dei rimanenti attributi riferirsi alla pagina Inserimento dati personalizzabile: Attributi base degli oggetti