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 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 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 numberTextBox , se di tipo D (date), sarà una dateTextBox , e così via.

Suggerimento

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.

Suggerimento

Si ricorda che il formbuilder può ricevere l’attributo table: in quel caso sarà possibile in qualunque contesto sfruttare il widget field


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”

Autore della sezione: Davide Paci