Thinkwise prefilter zetten op een grid

Wanneer je via een menu-item een grid opent kun je op dit grid een prefilter zetten. Laten we als voorbeeld het volgende nemen: je wilt een menu-item Gearchiveerd tonen. Wanneer gebruikers daarop klikken zien ze alleen de gearchiveerde berichten. Allereerst moeten we daarvoor een variant maken (zie eerder artikel). Nu moeten we alleen nog de berichten prefilteren op de status Gearchiveerd.

Standaard is het niet mogelijk om een prefilter te zetten op een variant. Dat betekent dat je dus eerst de prefilter op de basistabel moet gaan leggen. In ons voorbeeld is de basistabel Berichten en de variant Berichten_gearchiveerd. Het BIT veld heet 'gearchiveerd'. We gaan eerst op de tabel Berichten een prefilter zetten.

  • Ga naar User interface > Subjects
  • Selecteer de tabel Berichten
  • Open het tabblad Data
  • Kies het icoon Prefilters
  • Maak een nieuw prefilter aan
  • Voeg als SQL toe: gearchiveerd = 1

Als je nu de applicatie opent, zie je (als je de basistabel Berichten ook via het menu hebt gekoppeld) het filter Gearchiveerd verschijnen. Maar we willen hem hier niet getoond hebben. Dit halen we eenvoudig weg door de pre-filter state van de basistabel te wijzigen van 'Off' naar 'Off hidden'. Dit kunnen we doen voor de main state, detail state en lookup state. Nu is hij niet meer beschikbaar voor de basistabel.

Maar daarmee staat hij nog niet aan voor de variant, beschikbaar gemaakt via het menu-item Gearchiveerd. Dit doe je als volgt:

  • Ga naar User interface > Subjects
  • Selecteer de tabel Berichten
  • Ga naar het tabblad Variants
  • Kies de betreffende variant
  • Ga naar het tabblad Data
  • Wijzig de pre-filter state naar 'On locked' of 'On hidden'

Of je kiest voor 'on locked' of 'on hidden' is alleen maar afhankelijk van de vraag of je de gebruiker wilt laten weten dat er een prefilter is gezet. In beide gevallen kan de gebruiker het filter niet uitzetten.

Over mij

Mijn naam is Marcel van Langen. Ik ben werkzaam als freelancer. Een harde en eerlijke werker, met een passie voor doelgerichte oplossingen. Ik voer al jaren mooie klussen uit voor geweldige klanten. Mijn technische specialisaties zijn het Thinkwise platform, SQL Server en ColdFusion development.

Lees verder...
Diensten