.. _widgetpedia/elements/gnrwidgets/formbuilder/field: field ===== ``field`` è uno speciale widget di Genropy per selezionare, visualizzare e modificare i valori di una `colonna `_ di una tabella del database all'interno di un :ref:`formbuilder` . La sintassi del widget è estremamente semplice, e nella sua forma più minimale si limita a specificare in maniera implicita il ``field`` (inteso questa volta come attributo del widget) a cui si riferisce il valore:: fb.field('nome') fb.field(field='nome') La particolarità del *field* è che si occuperà di effettuare un `controllo sui permessi `_, stabilendo cosa mostrare/nascondere/filtrare all'utente che sta visualizzando la pagina, di `controllare nelle preferenze `_ se la colonna è abilitata o disabilitata, infine di individuare il :ref:`widget di inputazione` corretto sulla base del ``dtype`` definito nel model. Per esempio, se il *dtype* è di tipo *L (long-integer)*, il widget utilizzato automaticamente sarà una :ref:`numberTextBox` , se di tipo *D (date)*, sarà una :ref:`dateTextBox` , e così via. .. hint:: Si noti che è comunque possibile specificare un widget a piacere utilizzando l'attributo ``tag``, insieme agli altri attributi richiesti dal tipo di widget prescelto:: fb.field('note', tag='simpleTextArea', width='100%', height='100%', editor=True) Si noti che il widget si limita a specificare il campo, e non il *path* dello stesso. Affinché la "magia" funzioni, è quindi necessario che il **formbuilder si trovi nel corretto datapath**. .. hint:: Si ricorda che il *formbuilder* può ricevere l'attributo ``table``: in quel caso sarà possibile in qualunque contesto sfruttare il widget *field* .. raw:: html .. raw:: html
**Parametri:** +------------------------+------+--------------------------------------------------+ | Nome parametro | Tipo | Descrizione | +========================+======+==================================================+ |cols |L |Stabilisce il numero di colonne (es: cols=3) | +------------------------+------+--------------------------------------------------+ |table |T |Permette di indicare una table a cui riferire i | | | |vari "field" del formbuilder (es: | | | |table='fatt.fattura') | +------------------------+------+--------------------------------------------------+ |byColumn |B |Permette di percorrere il formbuilder con il | | | |tabulatore in verticale (per colonna) anziché in | | | |orizzontale (per riga) | +------------------------+------+--------------------------------------------------+ |field |T |La colonna di cui costruire il campo nel | | | |formbuilder | +------------------------+------+--------------------------------------------------+ |lbl |T |La label (se diversa dal name_long definito nel | | | |model) | +------------------------+------+--------------------------------------------------+ |tag |T |Il widget da utilizzare per il campo (se diverso | | | |da quello utilizzato in automatico) | +------------------------+------+--------------------------------------------------+ | *Html Parametri* | +------------------------+------+--------------------------------------------------+ |_class |T |Permette di assegnare una specifica classe CSS al | | | |widget | +------------------------+------+--------------------------------------------------+ |height |T |Permette di assegnare un'altezza al widget | +------------------------+------+--------------------------------------------------+ |width |T |Permette di assegnare una larghezza al widget | +------------------------+------+--------------------------------------------------+ |border |T |Permette di assegnare un bordo al widget | +------------------------+------+--------------------------------------------------+ |rounded |L |Permette di assegnare un arrotondamento al widget | +------------------------+------+--------------------------------------------------+ |style |T |Permette di assegnare uno stile (da esprimersi | | | |come serie di attributi CSS) al widget | +------------------------+------+--------------------------------------------------+ |background |T |Permette di assegnare uno sfondo al widget | +------------------------+------+--------------------------------------------------+ | *CSS Parametri* | +------------------------+------+--------------------------------------------------+ |tblclass |T |Permette di assegnare una classe css all'intera | | | |tabella | +------------------------+------+--------------------------------------------------+ |lblclass |T |Permette di assegnare una classe css alle label | | | |del formbuilder | +------------------------+------+--------------------------------------------------+ |fieldclass |T |Permette di assegnare una classe css ai field del | | | |formbuilder | +------------------------+------+--------------------------------------------------+ | *Columns Parametri* | +------------------------+------+--------------------------------------------------+ |colswidth |T |Permette di indicare la larghezza delle colonne | | | |del formbuilder (es: colswidth='100%') | +------------------------+------+--------------------------------------------------+ | *Label Parametri* | +------------------------+------+--------------------------------------------------+ |lblpos |T |Permette di indicare dove posizionare le label, di| | | |default è lblpos='L' (valori alternativi: 'T', per| | | |mostrare la lbl sopra al campo) | +------------------------+------+--------------------------------------------------+ |lblalign |T |Permette di personalizzare l'allineamento delle | | | |label del formbuilder, di default lbl_align='left'| +------------------------+------+--------------------------------------------------+ |lblvalign |T |Permette di personalizzare l'allineamento | | | |verticale delle label del formbuilder, di default | | | |lbl_align='top' | +------------------------+------+--------------------------------------------------+ | *Field Parametri* | +------------------------+------+--------------------------------------------------+ |fldalign |T |Permette di personalizzare l'allineamento dei | | | |field del formbuilder, di default fld_align='left'| +------------------------+------+--------------------------------------------------+ |fldvalign |T |Permette di personalizzare l'allineamento | | | |verticale dei field del formbuilder, di default | | | |fld_align='top' | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Davide Paci