.. _tablehandler/ViewResource/base_hooks/th_order_method: Metodo th_order =============== Criteri di ordinamento della viewgrid ------------------------------------- :: def th_order(self): non riceve alcun parametro e deve ritornare il nome della/e colonna/e per ordinare la view :: return 'ragione_sociale' È interessante sottolineare che possono essere passate più colonne con diversi criteri di ordinamento, ad esempio :: return 'cap:a, ragione_sociale:d' ritornerà in insieme di righe ordinate in base al cap (in modo ascendente) e per ragione_sociale (in modo discendente) Oltre a questo metodo, che rimane comunque valido, è stata recentemente introdotta la possibilità di definire nella th_struct anche il parametro ``sort`` come metodo alternativo per stabilire un criterio di ordinamento. In particolare diventa **utile utilizzarlo** in corrispondenza di **colonne calcolate**, in cui il th_order non sarebbe applicabile. .. note :: Il parametro *sort* di nuova introduzione ha la precedenza rispetto a quanto definito nel metodo **th_order** che nelle versioni future sarà deprecato, anche se continuerà ad essere utilizzabile. L'introduzione di questa nuova logica per l'ordinamento dei dati merita alcune considerazioni. Diversamente dal ``th_order`` che consentiva di specificare l'ordine delle colonne su cui effettuare l'ordinamento in fase di esecuzione della query, **con la nuova proprietà sort il criterio ("a" o "d") segue (ove specificato) l'ordinamento delle colonne nella griglia**, quindi se avessimo: :: r.fieldcell('ragione_sociale', sort='a') r.fieldcell('provincia', sort='a') il risultato verrà ordinato prima per 'ragione_sociale' e poi per 'provincia'. Qualora si abbia la necessità di ordinare la lista per 'provincia' e a parità di provincia per 'ragione_sociale', si dovrà cambiare l'ordine delle colonne o eventualmente (volendo mantenere entrambe le possibilità) definire una nuova view o creare una nuova th_struct con un nuovo ordine delle colonne. .. raw:: html
**Parametri:** +------------------------+------+--------------------------------------------------+ | Nome parametro | Tipo | Descrizione | +========================+======+==================================================+ |a |T |Il parametro (facoltativo) può essere espresso nel| | | |return value della funzione return | | | |'ragione_sociale:a' | +------------------------+------+--------------------------------------------------+ |d |T |Il parametro (facoltativo) può essere espresso nel| | | |return value della funzione return | | | |'ragione_sociale:d' <- indica l'ordinamento | | | |discendente basato sulla colonna ragione_sociale | +------------------------+------+--------------------------------------------------+ .. sectionauthor:: Valter Vettorello