.. _tablehandler/ViewResource/advanced_methods/th_sections_method/th_monthlySections: monthlySections =============== Le ``th_monthlySections`` sono un tipo particolare di section che permette di costruire facilmente una bottoniera con indicazione dei mesi passati o futuri. Per esempio:: @metadata(multivalue=True, exclude_fields='data') def th_sections_periodo(self): return self.th_monthlySections(column='$data', n_previous=2, n_following=2, all_previous=True, allPosition='last') Darà come risultato la seguente bottoniera: .. image:: /_static/images/ViewResource/advanced_methods/th_sections_method/section_22.png :width: 400px :align: center Con ``column`` si identifica la colonna da utilizzare per confrontare le date con la ``dtstart`` (qui non specificata e pari alla data di lavoro). Si noti che la data di inizio si riferisce quindi (in questo caso) al mese di febbraio, di conseguenza vengono aggiunti con ``n_previous`` e ``n_following`` due mesi prima e due mesi dopo la data corrente. Con ``all_previous``, poi, si mostra il bottone che raccoglie tutti i mesi precedenti all'inizio, e con ``allPosition='last'`` si mostra il pulsante che raccoglie tutte le date. .. hint:: In alternativa avremmo anche potuto specificare ``allPosition=True``, essendo il fondo la posizione di default, ma questa forma è più utile a scopo didattico. Con il decoratore ``metadata`` possiamo poi richiedere anche la selezione contemporanea di più bottoni (``multivalue=True``) e l'esclusione dei record che presentano un valore di *data* nullo o vuoto (``exclude_fields='data'``) .. raw:: html
**Parametri:** +------------------------+------+--------------------------------------------------+ | Nome parametro | Tipo | Descrizione | +========================+======+==================================================+ |multivalue |B |Se impostato a True consente di poter effettuare | | | |selezioni multiple di valori di partizionamento | | | |dei dati | +------------------------+------+--------------------------------------------------+ |multiButton |L |Permette di indicare un numero di bottoni oltre il| | | |quale la bottoniera si convertirà in tendina (es: | | | |multiButton=5) | +------------------------+------+--------------------------------------------------+ |variable_struct |B |Se impostato a True permette di selezionare nelle | | | |sections una determinata th_struct precedentemente| | | |definita (es: struct="clienti con_acquisti") | +------------------------+------+--------------------------------------------------+ |column |T |La colonna da utilizzare per il campo data su cui | | | |filtrare i record (es: column='$data') | +------------------------+------+--------------------------------------------------+ |dtstart |T |La data di inizio, se non specificata | | | |dtstart=self.db.workdate | +------------------------+------+--------------------------------------------------+ |n_previous |L |Il numero di mesi passati da aggiungere (es: | | | |n_previous=3) | +------------------------+------+--------------------------------------------------+ |n_following |L |Il numero di mesi futuri da aggiungere (es: | | | |n_previous=4) | +------------------------+------+--------------------------------------------------+ |all_previous |B |Se impostato a True, comparirà all'inizio un | | | |bottone "Previous months" relativo a tutti i mesi | | | |precedenti esclusi dalla bottoniera | +------------------------+------+--------------------------------------------------+ |all_following |B |Se impostato a True, comparirà alla fine un | | | |bottone "Following months" relativo a tutti i mesi| | | |futuri esclusi dalla bottoniera | +------------------------+------+--------------------------------------------------+ |allPosition |B |Se impostato a True, comparirà un bottone "All" | | | |relativo a tutti i mesi (se impostato a True, sarà| | | |posizionato in fondo, se definito come | | | |allPosition='first' verrà posizionato all'inizio) | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Davide Paci