Tipi di Tablehandler

Abbiamo visto come il TableHandler possa considerarsi a tutti gli effetti uno dei pilastri di Genropy che rende semplice ed agevole la gestione di una table.

Ma un TableHandler, generato tramite gnrmkthresource, non esaurisce la sua ragione di vita solo ed esclusivamente per la gestione della singola tabella, ma può essere integrato, magari dopo qualche modifica e personalizzazione, in altri TableHandler o in webpage dedicate consentendo in tal modo di poter riutilizzare codice già scritto.

Per fare un esempio pratico, partendo come sempre dal progetto Sandbox, immaginiamo di avere generato le risorse per le tabelle cliente, fattura, fattura_riga e prodotto.

Ciascuna risorsa generata ha lo scopo preciso di gestire la View e la Form di ciascuna tabella, ma le tabelle sono legate da delle relazioni: un prodotto sarà inserito in una riga di una fattura che a sua volta farà parte di una fattura relativa ad un cliente. In questo caso le risorse già generate per la singola tabella possono essere riutilizzate per creare Form complesse in cui vengono visualizzati dati provenienti da più tabelle seguendo le relazioni che le legano.

Si potrà pertanto costruire una form del cliente che tramite il TableHandler delle fatture mostrerà la lista (view) delle sue fatture e la form della fattura le sue righe, ovvero potremmo avere un’altra form del cliente in cui vengono mostrati, tramite le relazioni che li legano, tutti i prodotti acquistati da un cliente.

In altre parole definita una risorsa, questa potrà essere riutilizzata molteplici volte in situazioni e contesti diversi, andando ad assemblare come un mosaico «pezzi» di codice autoconsistenti a servizio di form o view.

I TableHandler si differenziano, sulla base della loro maniera di implementare la FormResource in:

Tipi di Tablehandler

TableHandler

Form

stackTableHandler

nella stessa finestra

dialogTableHandler

in una nuova finestra “dialog”

plainTableHandler

assente

inlineTableHandler

integrata alla view (inline)

borderTableHandler

nella stessa finestra, sotto alla view

paletteTableHandler

in una nuova finestra “palette”

Esistono inoltre altre forme particolari di TableHandler che non rientrano in questa prima classificazione:

Ciascuno di questi svolge un ruolo specifico descritto in dettaglio ed il suo comportamento può essere personalizzato tramite i parametri passati dal chiamante.

Possono essere utilizzati, oltre a parametri specifici, tutti i parametri utilizzati nel Metodo th_options . Questo garantisce una notevole dinamicità al comportamento dei TableHandler, che possono essere personalizzati a seconda della pagina in cui vengono utilizzati.

Infine, ricordiamo che è sempre possibile nella chiamata al TableHandler specificare quale View e Form utilizzare con i parametri ViewResource e FormResource.


Parametri:

Nome parametro

Tipo

Descrizione

table

T

Permette di indicare la table di partenza dei dati

relation

T

In caso di tabella in relazione, permette di indicare la relation_name da seguire per recuperare i dati

formResource

T

Permette di indicare una specifica formResource del Tablehandler da utilizzare

viewResource

T

Permette di indicare una specifica viewResource del Tablehandler da utilizzare

condition

T

Permette di applicare una condizione ai dati forniti dalla relazione o dalla tabella

title

T

Titolo del box occupato dal Tablehandler (visualizzato sopra la griglia)

delrow

B

True o False, se impostato a False disattiva la possibilità di eliminare record

addrow

B

True o False, se impostato a False disattiva la possibilità di aggiungere record

export

B

True o False, se impostato a True permette di esportare i dati in formato Excel

virtualStore

B

True o False, se impostato a True il caricamento dei dati sarà automatico e la ricerca disabilitata.

view_store_onStart

B

In caso di chiamata a un tablehandler con quindi di default uno store statico, al fine di visualizzare i dati nello store al caricamento si può impostare un innesco oppure il parametro view_store_onStart=True

searchOn

B

Se impostato a «False» disabilita la casella di testo per effettuare la ricerca quando questa è già in sostituzione alla query classica (es: quando virtualStore=False)

extendedQuery

B

True o False, se impostato a True attiva la ricerca avanzata e la toolbar di default del tablehandler

autoSave

B

Se impostato a True, il salvataggio automatico delle modifiche sarà abilitato

grid_autoSelect

B

Se impostato a True verrà automaticamente selezionato il primo valore in griglia al caricamento

grid_multiSelect

B

True o False, se impostato a False impedisce la selezione multipla delle celle

grid_selfDragRows

B

True o False, se impostato a True permette l’ordinamento personalizzato delle righe tramite trascinamento

form_locked

B

Permette di scegliere se la Form del th rappresentato si mostrerà di default come aperta o chiusa

formInIframe

B

Se impostato a True la form sarà caricata in un iframe

configurable

B

Di default True, se impostato a False non mostrerà la linguetta per configurare le colonne

Autore della sezione: Valter Vettorello e Davide Paci