07 - Conditionele Opmaak
Met stijlen kun je een vaste opmaak toepassen. Maar wat als de opmaak moet afhangen van de data? Bijvoorbeeld: te late leveringen rood markeren, of negatieve bedragen in een andere kleur tonen.
Daarvoor gebruik je conditionele opmaak — opmaakregels die alleen worden toegepast als een voorwaarde waar is. Vergelijk het met een stoplicht: groen bij alles in orde, rood bij een probleem. De kleur verandert op basis van de situatie.
Hoe werkt het?
Een conditionele opmaakregel bestaat uit twee onderdelen:
- Voorwaarde — een expressie die waar of onwaar oplevert
- Opmaak — de visuele eigenschappen die worden toegepast als de voorwaarde waar is
Bij het genereren evalueert Stimulsoft de voorwaarde per rij. Is de voorwaarde waar, dan wordt de opmaak toegepast. Is hij onwaar, dan blijft de standaardopmaak staan.
Conditionele opmaak instellen
- Selecteer het component op het canvas (meestal een tekstvak of een hele databand)
- Ga naar het Eigenschappen-paneel
- Zoek de eigenschap Conditions (onder de categorie Uitzicht)
- Klik op de knop om het condities-venster te openen
- Klik op Toevoegen om een nieuwe regel aan te maken
- Stel de voorwaarde in als expressie
- Stel de opmaak in die moet gelden als de voorwaarde waar is
- Klik op OK
Concreet voorbeeld: te late leveringen
Je hebt een databand met orderregels. Je wilt regels rood markeren als de leverdatum in het verleden ligt:
Voorwaarde:
{Order.LeverDatum < Today} Opmaak: tekstkleur = rood, vetgedrukt
Resultaat bij het genereren:
- Order met leverdatum 10 april 2024 (vandaag is 22 april) → rode tekst
- Order met leverdatum 30 april 2024 → normale tekst
Alternerende rijkleuren
Een veelgebruikte toepassing is het afwisselen van achtergrondkleuren in een databand — de ene rij wit, de volgende lichtgrijs. Dit maakt lange lijsten leesbaarder.
Voorwaarde:
{Line % 2 == 0} Line is een ingebouwde variabele die het rijnummer bijhoudt. Het %-teken is de modulo-operator (rest bij deling). Even rijen krijgen de alternatieve achtergrondkleur.
Opmaak: achtergrondkleur = lichtgrijs
Meerdere regels combineren
Je kunt meerdere conditionele opmaakregels op hetzelfde component zetten. Stimulsoft evalueert ze van boven naar beneden. De eerste regel die waar is, wordt toegepast.
| Prioriteit | Voorwaarde | Opmaak |
|---|---|---|
| 1 | {Order.Status == "Geannuleerd"} | Tekst doorgestreept, grijs |
| 2 | {Order.LeverDatum < Today} | Tekst rood, vetgedrukt |
| 3 | (geen — standaardopmaak) | Tekst zwart, normaal |
Samenvatting
- Conditionele opmaak past visuele eigenschappen toe op basis van een voorwaarde
- Stel regels in via de eigenschap Conditions van een component
- Elke regel heeft een voorwaarde (expressie) en een opmaak (kleur, lettertype, etc.)
- Gebruik
Line % 2 == 0voor alternerende rijkleuren - Meerdere regels worden van boven naar beneden geëvalueerd