Filter het resultaat van een zoekopdracht gekoppeld aan een informatiebestand

0000002944     -      30-03-2022

Een EditEntry kan automatisch worden gekoppeld aan een informatiebestand. Sinds versie 2.6 van MercatorPenguin is het mogelijk om deze zoekopdracht te filteren met elke geldige where -clausule op de tabel van het bestemmingsinformatiebestand. Deze clausule moet worden geplaatst in de TargetSigComplWhere property van de EditEntry.

Bijvoorbeeld om het zoeken naar materialen binnen een bepaalde afdeling te beperken:

<m:EditEntry Placeholder="Article 1" Source="id_art1" WidthRequest="120" TargetSigComplWhere="s_id_rayon='6F0C1922E2'" />

Het is mogelijk om een where variabele clausule te plaatsen, afhankelijk van de gegevens in de DataRow van het scherm dat wordt gewijzigd in MercatorPenguin. Om dit te doen, hoeft u alleen maar de naam van de kolom te specificeren, in hoofdletters, omgeven door accolades. Bijvoorbeeld in de tabel ACTIONS, de kolom ID_TACT1 char(10) toegevoegd om een contactpersoon te specificeren voor een klantgerelateerde actie. Dit maakt het eenvoudig om contacten te filteren op basis van de huidige klant in de actie (ID_SIG)..

<m:EditEntry Source="ID_SIG" IsVisible="False" />
<StackLayout Orientation="Horizontal">
    <m:EditEntry Placeholder="Contact" Source="id_tact1" Margin="0,0,25,0" WidthRequest="120"
TargetSigComplWhere="exists(select * from TACTSIG where (module='CLI') and (id_sig={ID_SIG}) and (id_tact=t_id))" />
    <m:TargetSigLabel Origin="id_tact1" Font="Medium" VerticalOptions="Center" HorizontalOptions="FillAndExpand" />
</StackLayout>

Merk op dat in dit voorbeeld {ID_SIG} wordt geëvalueerd met een EditEntry die niet zichtbaar is, aangezien de gebruiker deze waarde niet zou moeten kunnen wijzigen.