groupByTableHandler¶
Questo speciale TableHandler è quello che si ottiene anche da interfaccia in una qualunque vista cliccando sull’icona del sigma:
Può essere usato all’interno di un altro TableHandler o in una webpage, purché sia indicata anche una condition:
def main(self,root,**kwargs):
bc = root.borderContainer(height='100%', datapath='main.tracks')
bc.contentPane(region='top', margin='5px').dbSelect(value='^artist', table='mu.artists', lbl='Seleziona un artista')
bc.contentPane(region='center').groupByTableHandler(table='mu.tracks',
struct=self.structAlbum,
condition='@albumid.artistid=:artist', condition_artist='^artist')
def structAlbum(self, struct):
r = struct.view().rows()
r.fieldcell('@albumid.albumid', hidden=True)
r.fieldcell('@albumid.title', name='album')
r.fieldcell('name')
r.fieldcell('genre_id')
r.fieldcell('composer')
Il risultato è il seguente:
Si noti che il groupByTableHandler presenta una Grid View e una Tree View, entrambe poi rappresentabili in modalità Flat e Stacked.
Suggerimento
Può essere una rappresentazione utile nel caso in cui si voglia dare la possibilità di fare delle analisi statistiche su una tabella.
Parametri:
Nome parametro |
Tipo |
Descrizione |
---|---|---|
table |
T |
Permette di indicare la table di partenza dei dati |
relation |
T |
In caso di tabella in relazione, permette di indicare la relation_name da seguire per recuperare i dati |
formResource |
T |
Permette di indicare una specifica formResource del Tablehandler da utilizzare |
viewResource |
T |
Permette di indicare una specifica viewResource del Tablehandler da utilizzare |
condition |
T |
Permette di indicare la condition sulla base della quale filtrare i dati (es: condition=”@albumid.artistid=:artist”, condition_artist=”^artist”) |
title |
T |
Titolo del box occupato dal Tablehandler (visualizzato sopra la griglia) |
delrow |
B |
True o False, se impostato a False disattiva la possibilità di eliminare record |
addrow |
B |
True o False, se impostato a False disattiva la possibilità di aggiungere record |
export |
B |
True o False, se impostato a True permette di esportare i dati in formato Excel |
virtualStore |
B |
True o False, se impostato a True il caricamento dei dati sarà automatico e la ricerca disabilitata. |
view_store_onStart |
B |
In caso di chiamata a un tablehandler con quindi di default uno store statico, al fine di visualizzare i dati nello store al caricamento si può impostare un innesco oppure il parametro view_store_onStart=True |
searchOn |
B |
Se impostato a «False» disabilita la casella di testo per effettuare la ricerca quando questa è già in sostituzione alla query classica (es: quando virtualStore=False) |
extendedQuery |
B |
True o False, se impostato a True attiva la ricerca avanzata e la toolbar di default del tablehandler |
autoSave |
B |
Se impostato a True, il salvataggio automatico delle modifiche sarà abilitato |
grid_autoSelect |
B |
Se impostato a True verrà automaticamente selezionato il primo valore in griglia al caricamento |
grid_multiSelect |
B |
True o False, se impostato a False impedisce la selezione multipla delle celle |
grid_selfDragRows |
B |
True o False, se impostato a True permette l’ordinamento personalizzato delle righe tramite trascinamento |
form_locked |
B |
Permette di scegliere se la Form del th rappresentato si mostrerà di default come aperta o chiusa |
formInIframe |
B |
Se impostato a True la form sarà caricata in un iframe |
configurable |
B |
Di default True, se impostato a False non mostrerà la linguetta per configurare le colonne |
struct |
T |
Permette di indicare un metodo che descrive la struct della vista |
Autore della sezione: Davide Paci