# Class "guigen :: Table"

Defined in package : guigen

Tabella di visualizzazione dati. Permette di visualizzare in formato tabellare una collezione di record. Mette a disposizione alcune funzioni avanzate:

1. paginazione
   - opzionale
   - con possibilità di impostare la dimensione della "pagina"
   - resettabile da business logic
2. export dei dati
   - opzionale
   - in formato PDF, XLS, RTF
3. Con selezione della riga (è è il valore associato al DataWidget Table, utilizzabile nella business logic
   - opzionale (abilitata solo se è impostato un databinding/valuebinding)
   - singola o multipla (a seconda del tipo del databinding/valuebinding)
4. Con possibilità di editing delle celle
   - con widget di editing differenziato a seconda del tipo del dato della cella (TextField se Stringa/numerico, checkbox se boolean
   - con possibilità di scegliere a runtime se una singola cella deve essere editabile o meno
   - con possibilità di prendere il valore della cella da una collection (tramite combobox); la collection può essere unica per tutta la colonna o variabile per la singola riga

Annotations

- logicpkg
- uiwidgetdoc

Super and Sub Types

- guigen :: Widget
  - guigen :: DataWidget
    - guigen :: Widget
      - guigen :: MultiDataWidget
        - guigen :: Table

Direct Attributes ecore :: EBoolean customDecorator ecore :: EBoolean enableExport ecore :: EInt pageSize ecore :: EString summary | Direct References guigen :: ColumnModel columnModel
Inherited Attributes ecore :: EString dataTypeModifier ecore :: EBoolean required ecore :: EBoolean defaultEnabled ecore :: EBoolean defaultVisible ecore :: EBooleanObject enableEnrichment ecore :: EString label ecore :: EString name ecore :: EString tooltip | Inherited References guigen :: Type dataType guigen :: AppDataBinding databinding guigen :: AppDataBinding multiDataBinding guigen :: EventHandler eventHandlers guigen :: WidgetLayoutSpecifier layoutSpec guigen :: UISecurityConstraint securityConstraints

Referenced by

- guigen :: Table baseTable (guigen :: TableCustomizationParam)

## Attribute ecore :: EBoolean customDecorator

Se impostato a true abilita la definizione di un CustomDecorator, per impostazioni grafiche particolari a livello di intera riga

Property | Description
--- | ---
type | ecore :: EBoolean
changeable | true
defaultValueLiteral | null
derived | false
iD | false
lowerBound | 0
name | customDecorator
ordered | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Attribute ecore :: EBoolean enableExport

Se impostato a true abilita l'export della tabella.

Property | Description
--- | ---
type | ecore :: EBoolean
changeable | true
defaultValueLiteral | true
derived | false
iD | false
lowerBound | 0
name | enableExport
ordered | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Attribute ecore :: EInt pageSize

Numero di record max visualizzati in una pagina. Un valore di "0" significa che la paginazione è disabilitata: in questo caso vengono visualizzati tutti i record.

Property | Description
--- | ---
type | ecore :: EInt
changeable | true
defaultValueLiteral | null
derived | false
iD | false
lowerBound | 0
name | pageSize
ordered | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Attribute ecore :: EString summary

Property | Description
--- | ---
type | ecore :: EString
changeable | true
defaultValueLiteral | null
derived | false
iD | false
lowerBound | 0
name | summary
ordered | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Reference guigen :: ColumnModel columnModel

Il modello delle colonne che la tabella dovrà visualizzare.

Property | Description
--- | ---
type | guigen :: ColumnModel
changeable | true
containment | true
defaultValueLiteral | null
derived | false
lowerBound | 0
name | columnModel
ordered | true
resolveProxies | true
transient | false
unique | true
unsettable | false
upperBound | 1
volatile | false

## Annotation logicpkg

Key | Value
--- | ---
pkg | ui.widgets

## Annotation uiwidgetdoc

Key | Value
--- | ---
description | E' il classico widget di visualizzazione/editing di dati in formato tabellare. La Table può essere utilizzata all'interno di: WidgetsPanel, con layout Verticale, Orizzontale, Griglia; N.B: deve essere l'unico widget all'interno del pannello Prevede tre modalità di funzionamento, una standard/visualizzazione, una standard/editing ed una ricca. #### modalità standard/visualizzazione Il funzionamento di base della Table prevede: la possibilità di visualizzare le informazioni contenute in una collezione di record, con formattazioen dell'informazione coerente con il tipo di dato di ciascuna colonna la possibilità (opzionale) di effettuare l'ordinamento delle righe in base ai valori contenuti in una colonna la possibilità (opzionale) di paginare i risultati (con dimensione della pagina impostabile) la possibilità (opzionale) di effettuare l'export dei dati della tabella in formato excel o pdf la possibilità (opzionale) di selezione singola o multipla delle righe della Tabella, allo scopo di eseguire logiche applicative sulle righe selezionate (l'esecuzione della logica deve essere comandata in un momento successivo alla selezione da un Button posto nella stessa schermata) la possibilità di effettuare, al momento del submit della form, la validazione dell'input immesso a seconda del tipo di dato associato al campo e di alcuni ulteriori specifiche la possibilità di essere disabilitata a comando la possibilità di essere resa invisibile a comando la possibilità di essere disabilitata/invisibile a fronte di regole associate al profilo dell'utente collegato #### modalità standard/editing Ripsetto alla modalità standard/visualizzazione la modalità standard/editing prevede alcune possibilità aggiuntive: editing in place delle celle di una colonna: il widget di editing della cella dipende dal tipo di dato associato alla colonna: Calendar in caso di tipo DATA CheckBox in caso di tipo BOOLEAN TextField in tutti gli altri casi è possibile selezionare il valore di una cella da una lista di valori (in questo caso il widget utilizzato per l'immissione è la ComboBox); l'elenco dei valori selezionabili può essere comune a tutte le righe oppure specifico per ciascuna riga è possibile, nell'ambito di una colonna dichiarata editabile, decidere a runtime l'editabilità della singola cella (nel qual caso il widget corrispondente apparirà disabilitato) #### modalità ricca La modalità ricca prevede di default i seguenti comportamenti aggiuntivi: tooltip al passaggio del cursore sull'intestazione delle colonne refresh della sola area della tabella in caso di esecuzione delle funzioni di ordinamento e paginazione possibilità di ridimensionare/cambiare l'ordine/nascondere le colonne della tabella interattivamente
event-clicked | In una tabella è possibile rendere "attive" le celle di alcune colonne (purchè esse non siano editabili). L'evento "clicked" è proprio il "click" dell'utente su tali celle. E'possibile, a fronte ddi questo evento, scatenare una logica applicativa e modificare di conseguenza la schermata visualizzata. Esistono due modalità di esecuzione della logica associata: standard e ricca. ##### modalità standard Al click di una cella viene eseguita la logica applicativa associata e, al termine dell'esecuzione viene ricaricata l'intera schermata oppure il flusso passa ad una schermata differente. ##### modalità ricca Alla click di una cella viene eseguita la logica applicativa associata. Durante l'esecuzione viene sospesa l'interazione utente e viene visualizzato un indicatore di "operazione in corso". Al termine dell'esecuzione i possibili effetti sono: il refresh dell'intera schermata corrente, con mantenimento della posizione delle eventuali scrollbar il refresh di una porzione specifica di schermata il passaggio del flusso ad una schermata differente

generated on 5-set-2016 at 16.27.37 by metamodeldoc