.. _widgetpedia/grids/cells/cell: 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') .. raw:: html
**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="
$r| | | |agione_sociale
$indirizzo
") | +------------------------+------+--------------------------------------------------+ |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 | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Davide Paci