Report a colonne

Dettagli sulla gestione delle colonne

In Sptpl 2.0 è stato aggiunto il supporto per le colonne. Ciò rende più semplice la realizzazione di tabelle o di testi con allinementi perticolari.

Le colonne sono raggruppate in set colonne. Un singolo report può definire più set di colonne ma se ne attiva uno alla volta. I tag quali row oppure block permettono di selezionare quale set di colonne si vuole attivare, e all'interno sel set, quale colonna utilizzare.

Ciascuna colonna ha i suoi attributi quali larghezza, margini, allineamento orizzontale, font (per maggiori dettagli vedere column). Alcuni di questi attributi (font, allineamento) agiscono come impostazioni di default per il teso che verrà posizionato nella colonna. Questi settaggi possono essere by-passati dalle opzioni passate nel tag row

L'uso delle colonne non è obbligatorio, si possono creare report senza set di colonne. La pagina, per default, viene definita come colonna 0 dal PagaManager anche se non viene definito alcun set di colonne. Al contrario, quando si creano dei set di colonne, il PageManager aggiunge a questi, in automatico la colonna 0 rappresentante la pagina.

Dichiarazione di un nuovo set di colonne

Prima di fare riferimento ad un colonna, occorre dichiarare un nuovo columnset come nodo figlio di report.

<report>
  <beginreport>
   Hi

   My First Test
  </beginreport>
  <OpenPage>
Column test 1
  </OpenPage>
  <row id='pippo'>
Some text without set the column
  </row>

  <!-- set a new columnset -->
  <columnset id='test1'>
   <column  leftpos='5' Width='20' align='center' />
   <column  leftpos='26' Width='20' align='right' />
   <column  leftpos='47' Width='20' align='left' />
  </columnset>

Utilizzo del nuovo set di colonne

Ora che abbiamo creato il nuovo columnset, attiviamolo.

Per default, non si attiva nessun columnset anche se il report ne ha definiti solo uno. In questa situazione esiste solo la colonna 0 (l'intera pagina). Pertanto dobbiamo selezionare il set di colonne per potere procedere alla scrittura del testo nella colonna 1.


  <row columnset='test1' column='1'>Text on the first column
  </row>

Ora che abbiamo 'attivato' il set di colonne, possiamo referenziare qualsiasi colonna all'interno di questo senza doverlo specificare ancora.


  <row column='2'>Text on the second column
  </row>

  <row column='3'>Text on the third column
  </row>

Qui potete trovare l'esempio completo.

Limiti

Non si può applicare la gestione a colonne ai tag openpage e closepage. essi la ignorano.