Blog

Come visualizzare i record con i template di riga

Come visualizzare i record con i template di riga

Il template di riga (rowtemplate) è uno strumento che permette di applicare un template alla modalità di visualizzazione del record sulla griglia.

Il rowtemplate può di conseguenza essere molto utile il tutte quelle situazioni in cui vogliamo fornire un’anteprima di alcuni dati del record già nella griglia, in una forma personalizzata e senza “appesantire” le colonne della vista, permettendo all’utente di confrontare i dati senza aprire record per record. Supponiamo per esempio di voler dare subito un’anteprima del totale fatturato e del numero di fatture di un cliente: grazie al template, sarà possibile visualizzare queste informazioni al passaggio del mouse sui record cliente.

Inoltre, il template di riga può essere utilizzato per fare delle stampe dell’elenco dei record della tabella: verrà quindi stampato un elenco con le righe della selezione, rappresentate dal template prescelto.

O ancora, il template di riga può essere utile per ottimizzare la visualizzazione dai dispositivi mobili, caratterizzati da uno spazio verticale maggiore di quello orizzontale, che a volte può rendere difficoltosa la visualizzazione in griglia (specie se con tante colonne): in questo modo potremo distribuire tutte le informazioni su più righe e limitarci a utilizzare una sola colonna.


Il rowtemplate come anteprima della griglia

In fase di definizione di un template con il Template Editor è possibile individuare la tipologia di template “Riga” e assegnare un’altezza a piacere. A quel punto sarà possibile creare il template desiderato e modificare il metodo th_options della View come segue:

def th_options(self):
    return dict(view_preview_tpl='cliente_row')

Al passaggio del mouse tenendo premuto CTRL verrà mostrato un fumetto con all’interno il template indicato.

Il rowtemplate per la stampa delle righe

Il template di riga può essere anche utilizzato per effettuare delle stampe: ogni riga della tabella verrà rappresentata dal template prescelto.

Per lanciare questo tipo di stampa, dall’icona della stampante, si può selezionare Comune > Template row e individuare il template in Modello row.

Il rowtemplate per l’ottimizzazione da mobile

Il rowtemplate può essere sfruttato per ottimizzare la visualizzazione da mobile, trasformando il contenuto della cella per visualizzarlo su più righe invece che su una sola, aspetto molto comodo quando si ha a che fare con interfacce che tipicamente mettono a disposizione meno spazio orizzontalmente e più spazio invece verticalmente.

Per fare questo, si utilizza innanzitutto un tipo particolare di pyColumn, la templateColumn.

La templateColumn utilizza un metodo definito a livello di sistema, che quindi non sarà necessario definire all’interno del model, per utilizzare un template specificato nella visualizzazione della cella.

Sarà quindi sufficiente creare una pyColumn e specificare un py_method='templateColumn' e un template_name:

tbl.pyColumn('tpl_dati_cliente', py_method='templateColumn', template_name='cliente_row')

Verrà così utilizzato il template di riga cliente_row per visualizzare la cella. Si noti che sarà necessario ovviamente modificare la View utilizzando la colonna appena creata template_ultimi_acquisti.