Tabeller
Tabeller brukes for å vise strukturert informasjon på en oversiktlig måte, som beregninger, perioder eller sammenstillinger.
Grunnleggende struktur
En tabell består av en header med kolonner og rader med celler:
paragraph {
table(
header = {
column {
text(bokmal { +"Beskrivelse" })
}
column(alignment = ColumnAlignment.RIGHT) {
text(bokmal { +"Beløp" })
}
}
) {
row {
cell { text(bokmal { +"Uføretrygd" }) }
cell { eval(uforetrygdBeloep.format()) }
}
row {
cell { text(bokmal { +"Barnetillegg" }) }
cell { eval(barnetilleggBeloep.format()) }
}
}
}
Kolonneegenskaper
Dynamiske rader med forEach
table(
header = {
column { text(bokmal { +"Måned" }) }
column(alignment = ColumnAlignment.RIGHT) {
text(bokmal { +"Beløp" })
}
}
) {
forEach(utbetalingsperioder) { periode ->
row {
cell { eval(periode.maaned.format()) }
cell { eval(periode.beloep.format()) }
}
}
}
Betinget innhold
Betingede rader
table(header = { /*...*/ }) {
row {
cell { text(bokmal { +"Grunnbeløp" }) }
cell { eval(grunnbeloep.format()) }
}
showIf(harBarnetillegg) {
row {
cell { text(bokmal { +"Barnetillegg" }) }
cell { eval(barnetilleggBeloep.format()) }
}
}
row {
cell { text(bokmal { +"Totalt" }, fontType = FontType.BOLD) }
cell { eval(totalBeloep.format()) }
}
}
| Antall celler i hver rad må matche antall kolonner i headeren. Derfor støtter vi ikke betingede celler. |
Eksempel: Beregningstabell
paragraph {
table(
header = {
column(columnSpan = 3) {
text(bokmal { +"Beregning" })
}
column(alignment = ColumnAlignment.RIGHT) {
text(bokmal { +"Per måned" })
}
column(alignment = ColumnAlignment.RIGHT) {
text(bokmal { +"Per år" })
}
}
) {
row {
cell { text(bokmal { +"Grunnbeløp" }) }
cell { eval(grunnbeloepMaaned.format()) }
cell { eval(grunnbeloepAar.format()) }
}
showIf(harBarnetillegg) {
row {
cell { text(bokmal { +"Barnetillegg" }) }
cell { eval(btMaaned.format()) }
cell { eval(btAar.format()) }
}
}
row {
cell { text(bokmal { +"Sum" }, fontType = FontType.BOLD) }
cell { eval(sumMaaned.format()) }
cell { eval(sumAar.format()) }
}
}
}
Beste praksis
Høyrejuster tall - Bruk alignment = ColumnAlignment.RIGHT for tallkolonner for bedre lesbarhet.
|
| Hold tabeller enkle - Begrens antall kolonner om mulig. For mange kolonner blir fort uoversiktlig. |