13 - Sorteren
Bij de vorige oefening zag je dat groepering alleen goed werkt als de data gesorteerd is op het groepeerveld. Als de data ongesorteerd binnenkomt, kan dezelfde groep meerdere keren verschijnen. Sorteren lost dit op.
Waarom sorteren bij groepering?
Stel dat de data in deze volgorde binnenkomt:
| Product | Categorie |
|---|---|
| Tarwebloem | Meel |
| Kristalsuiker | Suiker |
| Roggebloem | Meel |
Zonder sortering maakt Stimulsoft drie groepen: Meel, Suiker, Meel — omdat de categorie twee keer verandert. Na sortering op Categorie:
| Product | Categorie |
|---|---|
| Tarwebloem | Meel |
| Roggebloem | Meel |
| Kristalsuiker | Suiker |
Nu zijn er twee groepen: Meel en Suiker. Precies wat je verwacht.
Vuistregel: sorteer altijd op het groepeerveld als je groepering gebruikt.
Sortering instellen in de designer
Via de DataBand-eigenschappen
- Klik op de DataBand op het canvas
- Ga naar het Eigenschappen-paneel
- Zoek de eigenschap Sort (onder de categorie Data)
- Klik op de knop om het sorteervenster te openen
- Voeg een sorteerveld toe en kies de richting:
- Ascending (A-Z) — oplopend
- Descending (Z-A) — aflopend
Meerdere sorteervelden
Je kunt meerdere sorteervelden instellen. De volgorde is belangrijk:
| Volgorde | Sorteerveld | Richting |
|---|---|---|
| 1 | Categorie | Ascending |
| 2 | ProductNaam | Ascending |
Dit sorteert eerst op categorie en binnen elke categorie op productnaam. De eerste sorteersleutel bepaalt de groepen, de tweede de volgorde binnen de groep.
Sorteren zonder groepering
Sortering is ook nuttig zonder groepering. Denk aan:
- Een artikellijst alfabetisch op naam
- Een orderoverzicht op datum (nieuwste eerst)
- Een voorraadlijst op aantal (laagste eerst, zodat je snel ziet wat moet worden bijbesteld)
De instelling werkt hetzelfde: via de eigenschap Sort van de DataBand.
Sortering en business objects
De sortering in de designer bepaalt de volgorde van de data in het rapport. Het business object levert de data aan in een bepaalde volgorde, maar de designer kan die overschrijven met de Sort-instelling.
Dit geeft je flexibiliteit: hetzelfde business object kan in het ene rapport gesorteerd zijn op datum en in het andere op klantnaam.
Samenvatting
- Sorteer altijd op het groepeerveld als je groepering gebruikt — anders worden groepen herhaald
- Stel sortering in via de eigenschap Sort van de DataBand
- Je kunt meerdere sorteervelden instellen — de volgorde bepaalt de prioriteit
- Sortering werkt ook zonder groepering voor elk rapport dat een logische volgorde nodig heeft
Meer in deze rubriek
- 01 - Master-Detail relaties
- 02 - Oefening Master-Detail
- 03 - Geneste databanden
- 04 - Oefening Geneste Databanden
- 05 - Child Bands
- 06 - Oefening Child Bands
- 07 - Groepering
- 08 - Oefening Groepen Herkennen
- 09 - Groepering Instellen
- 10 - Oefening Groepering
- 11 - Subtotalen
- 12 - Oefening Subtotalen
- 13 - Sorteren
- 14 - Oefening Sorteren Groeperen
- 15 - Leverbon bouwen
- 16 - Oefening Leverbon