|
Tip 131 - Een te lang popup-menu korter
maken
Iemand selecteert in een databank
Voorraad de naam van de leverancier op basis van een
popup-menu en klaagt erover dat dat onhandig geworden
is nu er meer dan tweehonderd bedrijfsnamen getoond worden:
het menu rolt open over het hele scherm en bovendien duurt
dat nogal even.
Natuurlijk kunnen we al beginnen met
het popup-menu te vervangen door een popup
list: zo'n lijst heeft immers een vaste grootte en
krijgt rechts automatisch een scrollbar. Maar
dan vermindert natuurlijk nog niet het aantal getoonde
namen.
Dit probleem pakken we het beste aan
door in die lange lijst al een eerste preselectie te maken,
namelijk een die gebaseerd is op de beginletter.
Hiertoe werken we dan met het principe van de Conditional
Value list:
- creëer in Voorraad
een nieuw globaal veldje dat we Beginletter
noemen
- doe dit ook in de databank met
de namen van de leveranciers en maak van dit veld een
calculatie-veld dat de eerste letter van de naam van de
leverancier toont. Gebruik hiertoe de
Left-functie: Left(Leverancier;
1).
- creëer in Voorraad
een relatie naar de leveranciersbank met als key-veld
Beginletter
- wijzig de vervelende value
list in de Voorraad-bank door niet alle namen
te tonen uit de leveranciersbank, maar alleen de
gerelateerde (Show only
related values)
Als we nu een leverancier willen
selecteren, dan tikken we eerst de gewenste beginletter in
het veldje Beginletter en klikken pas daarna op het
popup-menu (of de popup list). We zien
dan nog enkel de leveranciers met die beginletter. Als we
het helemaal fraai willen maken, kunnen we die beginletter
in het veldje zetten via 26 kleine knoppen die elk een
scriptje activeren met SetField
(gevolgd door ExitRecord).
|