08 - Oefening Tekstveldgedrag
In deze oefening onderzoek je het effect van Can Grow, Can Shrink en Shift Mode op een rapport met variabele data. Je gaat bewust dingen “stuk” maken zodat je het gedrag leert herkennen.
Voorbereiding
- Open de designer via een bestaand rapport met een databand (bijvoorbeeld de pakbon uit de vorige oefening)
- Zorg dat er een tekstvak in de databand staat met een veldverwijzing naar een omschrijvingsveld
Deel 1 — Can Grow ontdekken
- Selecteer het tekstvak met de omschrijving in de databand
- Maak het tekstvak bewust smal (bijvoorbeeld 4 cm breed) en laag (0,5 cm hoog)
- Ga naar Afdrukvoorbeeld — wat gebeurt er met lange omschrijvingen?
- Ga terug naar de designer, selecteer het tekstvak en zet Can Grow op
True - Bekijk opnieuw het afdrukvoorbeeld — wat is het verschil?
Verwacht resultaat: zonder Can Grow wordt de tekst afgesneden. Met Can Grow groeit het tekstvak mee en toont alle tekst.
Deel 2 — Shift Mode testen
- Voeg onder het omschrijvingsveld een tweede tekstvak toe in dezelfde databand (bijvoorbeeld met de tekst “—” als visuele scheiding)
- Bekijk het afdrukvoorbeeld — overlappen de twee tekstvakken bij lange omschrijvingen?
- Selecteer het onderste tekstvak en stel Shift Mode in op
IncreasingSize - Bekijk opnieuw het afdrukvoorbeeld — schuift het onderste tekstvak nu netjes mee?
Verwacht resultaat: zonder Shift Mode overlappen de componenten. Met IncreasingSize schuift het onderste element mee naar beneden.
Deel 3 — Can Shrink testen
- Voeg boven de databand (in de ReportTitle) drie tekstvakken onder elkaar:
{Order.Klant.Bedrijf}{Order.Klant.Straat}{Order.Klant.Postcode} {Order.Klant.Plaats}
- Bekijk het afdrukvoorbeeld met een klant die geen bedrijfsnaam heeft — er verschijnt een lege regel
- Selecteer het bedrijfsnaam-tekstvak en zet Can Shrink op
True - Stel bij het straat-tekstvak Shift Mode in op
DecreasingSize - Bekijk opnieuw het afdrukvoorbeeld — is de lege regel verdwenen?
Verwacht resultaat: het lege bedrijfsnaamvak krimpt weg en het straatveld schuift omhoog.
Controlevragen
Vraag 1
Wat gebeurt er als je Can Grow aanzet maar Word Wrap uitzet?
Details
Antwoord: De tekst loopt niet door naar de volgende regel, dus het tekstvak groeit niet. De tekst wordt aan de rechterkant afgesneden. Can Grow heeft alleen effect als de tekst ook daadwerkelijk naar meerdere regels wordt afgebroken — zonder Word Wrap gebeurt dat niet.
Vraag 2
Waarom moet je Shift Mode instellen op het onderliggende component en niet op het component dat groeit?
Details
Antwoord: Het component dat groeit weet niet welke andere componenten er onder staan. Shift Mode is een eigenschap die zegt “ik wil meeschuiven als het component boven mij van grootte verandert.” Het is de verantwoordelijkheid van het onderliggende component om te reageren op veranderingen erboven.
Vraag 3
In welke situatie zou je Can Grow én Can Shrink tegelijk aanzetten op hetzelfde tekstvak?
Details
Antwoord: Bij een veld met sterk variabele lengte, zoals een opmerkingenveld. Soms bevat het 5 regels tekst (Can Grow nodig), soms is het helemaal leeg (Can Shrink voorkomt een lege ruimte). De combinatie zorgt dat het tekstvak zich altijd aanpast aan de werkelijke inhoud.
Wat heb je geleerd?
- Can Grow voorkomt afgesneden tekst bij variabele inhoud
- Shift Mode is noodzakelijk om overlapping te voorkomen
- Can Shrink elimineert lege witruimte bij ontbrekende waarden
- Deze drie eigenschappen werk je altijd samen af: groei → verschuiving → krimp
Wat heb je geleerd in sessie 3?
Kijk of je deze vragen kunt beantwoorden zonder terug te bladeren:
- Hoe stel je de datumopmaak in via TextFormat?
- Wanneer gebruik je Format() in plaats van TextFormat?
- Wat is een expressie en hoe combineer je tekst met velden?
- Hoe bouw je een rapport op van secties naar velden?
- Wat doet Can Grow en wanneer zet je het aan?
- Hoe voorkom je dat componenten overlappen bij groei?
In sessie 4 ga je aan de slag met master-detail relaties, geneste databanden en groepering.
< Vorige: Gedrag tekstveld | Volgende: Master-detail relaties >