Colgroups

Un colgroup è un raggruppamento di più colonne e si definisce come segue:

class Table(object):
  def config_db(self, pkg):
      tbl = pkg.table('anagrafica')

      group = tbl.colgroup('dati', name_long='Dati', col_defaultFrom='@cliente_id')
      group.column('ragione_sociale')
      group.column('nome')
      group.column('cognome')

L’effetto del colgroup, oltre a migliorare la leggibilità del codice, è quello di raggruppare sotto la stessa voce, quella del gruppo, tutte le colonne affini, effetto che verrà propagato anche all’albero della View. Inoltre, al trascinamento del titolo del gruppo in una vista, verrà direttamente generato il columnset corrispondente.

Si noti che con col_ è possibile assegnare un parametro a tutte le colonne del gruppo contemporaneamente.

Suggerimento

I colgroups sostituiscono la vecchia sintassi del group come attributo di colonna , arricchendone ulteriormente le potenzialità sul fronte interfaccia.


Parametri:

Nome parametro

Tipo

Descrizione

name

T

Generalmente implicito, definisce il nome del gruppo (es: “dati”)

size

L

Permette di definire il numero dei caratteri del contenuto della colonna (es: size=”:22”)

dtype

T

Permette di indicare il datatype tra quelli disponibili di default (“T”, “B”, “X”, “I”, “L”, “N”, “D”, “H”, “DH”, “P”) o customizzati. Se omesso è sempre dtype=”T”

name_long

T

Permette di definire il name_long («friendly name») della colonna (es: name_long=”Nome e Cognome”)

name_plural

T

Permette di definire un friendly name al plurale (es: “Numeri di telefono”)

name_short

T

Permette di indicare un friendly name abbreviato (es: name_short=”Pr.”)

group

T

Deprecato, sostituito dai colgroups Permette di indicare un codice di raggruppamento, affinché le colonne siano raggruppate sotto un’unica voce nel selettore delle colonne di destra del tablehandler

unmodifiable

B

Se impostato a True, il campo non sarà più modificabile una volta che è stato salvato (sarà quindi possibile solo il primo inserimento alla creazione del record)

unique

B

Introduce un vincolo di unicità, corrispondente all’SQL UNIQUE. Di default la primary key è sempre unique=True, ma è possibile assegnare questo parametro anche ad altre colonne (per es. in caso di colonne con contatori)

values

T

Se sono presenti solo un limitato numero di valori predeterminati per la colonna, questi vanno indicati in questo campo (es: tbl.column(“type”, name_long=”type”, values=”RESPONSE,UPDATE,MESSAGE_TAG,CONTACT”))

subfields

T

In caso di Bag contenente i dynamic fields di una tabella in relazione, permette di indicare la colonna con i campi da mostrare e che riempiranno la Bag (es: tbl.column(“custom_fields”, dtype=”X”, name_long=”Custom Fields”, subfields=”type_id”))

indexed

B

_sendback

B

defaultFrom

T

Permette di indicare un valore da ereditare e mostrare come default nella Form, partendo da una relazione (es: defaultFrom=”@parent_id.voce_fatturazione_id” in caso di figlio di una tabella gerarchica, o defaultFrom=”@tipo_prodotto_id.tipo_iva” in caso di una relazione).

plugToForm

B

Se impostato a True, permette di mostrare direttamente il field nella Form della tabella, senza necessità di modificare la risorsa. Particolarmente utile in caso di customizzazioni di package.

sql_value

T

Permette di inserire una formula di calcolo del valore della colonna, a livello di sql (quindi ricalcolata a ogni operazione di insert/update, es: sql_value=»:area_modulo_dflt||”/”||:codice_mod ulo_dflt»)

col_

T

Permette di attribuire dei parametri a tutte le colonne del colgroup (es: col_dtype=”B”, col_defaultFrom=”@cliente_id”)

Validations Parameters

validate_

T

Permette di definire i parametri di validazione

validate_notnull

B

Se impostato a True rende il riempimento della colonna obbligatorio

validate_len

L

Permette di indicare una lunghezza affinché il campo della colonna sia valido (es: validate_len=”2:40”)

Autore della sezione: Davide Paci