bagItemColumn¶
La bagItemColumn permette di valorizzare all’interno di una table un path interno a una Bag. I valori non saranno «copiati», ma verrà utilizzata a tutti gli effetti la Bag garantendo l’integrità dei dati, ma allo stesso tempo la colonna sarà equiparabile nell’utilizzo a una colonna «vera» della table di destinazione.
Suggerimento
La bagItemColumn è particolarmente utile in caso di colonne di tabelle in relazione che vengono utilizzate spesso nelle Operazioni di lettura
Per aggiungere una bagItemColumn all’interno di una table:
class Table(object):
def config_db(self, pkg):
tbl.column('personalizzazioni', dtype='X', name_long='Personalizzazioni')
tbl.column('dettaglio_vendita', dtype='X', name_long='Dettaglio vendita')
tbl.bagItemColumn('personalizzazione_1',bagcolumn='$personalizzazioni',
itempath='#0?_displayedValue',name_long='Personalizzazione 1')
tbl.bagItemColumn('personalizzazione_2',bagcolumn='$personalizzazioni',
itempath='#1',name_long='Personalizzazione 2')
dt.bagItemColumn('data_arrivo',bagcolumn='$dettaglio_vendita',
itempath='data_arrivo',name_long='Data arrivo',dtype='D')
La bagItemColumn è definita da queste componenti:
un
name
, generalmente implicito, analogamente a una colonna «vera»una
bagcolumn
, ovvero il rimando alla colonna vera di tipo Bagun
itempath
, che può essere espresso con la chiave (es: data_arrivo) oppure posizionalmente (es: #0)
Suggerimento
Si noti che l”itempath restituisce di default il value
, ma è possibile invece riportare un qualsiasi attributo con la consueta sintassi del ?
per leggere gli attributi della Bag
Autore della sezione: Davide Paci