cell

Il cell è un widget che si occupa della visualizzazione dei valori di una griglia quando queste non sono vere colonne di database.

L’elemento cell può quindi essere utilizzato se la colonna esiste solo nel datastore o se viene definita estemporaneamente come formula.

def th_struct(self,struct):
      r = struct.view().rows()
      r.fieldcell('prodotto_id',edit=dict(validate_notnull=True))
      r.fieldcell('quantita',edit=dict(validate_notnull=True),width='7em')
      r.fieldcell('prezzo_unitario')
      r.cell('prezzo_totale',totalize=True,formula='quantita*prezzo_unitario')

Parametri:

Nome parametro

Tipo

Descrizione

width

T

Consente di definire l’eventuale larghezza di una colonna, il valore può essere espresso in px o em.

name

T

è il titolo della colonna che voglio mostrare nell’header, se sto usando fieldcell il suo valore di default è letto dagli attributi name_short e name_long della colonna corrispondente, nella definizione del model.

text_align

T

consente di allineare il testo a sinistra (left, default o center o right)

format

T

è una stringa che rappresenta il pattern di formattazione che voglio dare ad un dato di tipo data o numerico. Ad esempio #,###.00

dtype

T

è il tipo di dato nella solita codifica. Se si usa fieldcell non serve perché il dtype è ricavato dal model.

columnset

T

ha uno scopo di esclusiva organizzazione visiva e/o logica dei dati e ne consente una maggiore leggibilità in quanto le colonne appartenenti allo stesso columnset vengono visualmente raggruppate sotto una sorta di cappelletto colorato

sort

T

Permette di stabilire il criterio di ordinamento (a=Ascendente, d=discendente) della griglia basato sulla colonna in cui viene dichiarato. Ha la precedenza rispetto all’ordinamento eventualmente definito nel metodo th_order, che invece è definito a livello di classe View.

calculated

B

Se a un cell assegniamo il parametro calculated=True, la colonna sarà considerata «calcolata» e non sarà quindi presente nelle query

formula

T

Per un cell calcolato, permette di inserire una sintassi javascript per il calcolo (es: formula=”voto_si?popolazione_residente:0”)

totalize

B

Se impostato a True, specifica se totalizzare i valori della colonna. Alternativamente, in caso per esempio di colonne calcolate, può contenere indicazione dei valori da totalizzare (es: totalize=”#FORM.record.mill_si”)

_customGetter

T

Permette di customizzare il contenuto della cella e modificarlo tramite un contenuto js (per i dettagli si rimanda alla sezione dedicata)

rowTemplate

T

Permette di modificare la modalità di visualizzazione della cella, inserendo direttamente codice html (es: rowTemplate=»<div>$r agione_sociale</div><div>$indirizzo</div>»)

semaphore

B

Se impostato a True, le celle di tipo booleano verranno mostrate con un semaforo verde se Vero, rosso se Falso

tick

B

Se impostato a True, le celle di tipo booleano verranno mostrate con un segno di spunta se Vero.

three_state

B

Se impostato a True, il semaphore avrà tre stati anziché due (rosso e verde più il giallo per i valori nulli)

CSS Parametri

classes

T

Le classi css da assegnare alla colonna per intero

cellClasses

T

Le classi css da assegnare alle celle

headerClasses

T

Le classi css da assegnare alle testate delle colonne

Autore della sezione: Davide Paci