Pagine per tabelle gerarchiche

Definizione di tabella gerarchica

In genropy si definisce tabella gerarchica o hierarchicaltable una tabella i cui record hanno una relazione verso un altro record padre, appartenente alla tabella stessa. Tale relazione è associata alla foreignkey parent_id.

Questo modello di struttura dati si adatta ad entità che sono intrinsecamente gerarchiche, ovvero in cui gli elementi sono contenuti l’uno nell’altro.

Alcuni esempi:

  • Genere musicale
  • Directory su un disco
  • Tipo prodotto

Nelle tabelle gerarchiche dei record particolari sono quelli che non hanno relazioni verso nessun altro elemento padre, ma che sono invece genitori di altri record. Questi elementi vengono detti elementi radice in inglese root. Sono invece detti elementi foglia quei record che non sono «padri» di nessun altro record. Questi termini assumono maggiore significato se si immagina il contenuto della table gerarchica come una struttura ad albero

Gestione di tabelle gerarchiche

Queste pagine a differenza di quelle affrontate in precedenza ( tablehandler ), non si presentano inizialmente con la vista griglia , ma hanno nella colonna sinistra un tree (albero) per visualizzare tutti i record radice e i loro record figli e discendenti. Quando si seleziona un elemento dell’albero si vede nella parte principale della pagina, la form associata al record corrente dove l’utente può operare sul singolo record della tabella attraverso la barra degli strumenti . Nella parte alta troviamo sempre la banda del titolo , in cui è riportato il titolo della pagina e la data di lavoro.

../_images/03_tabellagerarchica.png
../_images/02_tabellagerarchica_figlio.png