MercatorPenguin in schrijven: een lijst met gegevens verkrijgen en het resultaat toepassen in een gebied

0000003099     -      10-05-2024

MercatorPenguin 2.10.9 of later maakt het mogelijk om een EditListButton aan een bewerkbaar gebied (EditEntry) toe te wijzen. Met deze knop kunt u een SQL-query uitvoeren in de Mercator-database en het resultaat weergeven als een lijst. De waarde die is gekoppeld aan de geselecteerde regel wordt vervolgens geplaatst in de bijbehorende EditEntry.

Voorbeeld van XAML-configuratie


<m:EditEntry Placeholder="N° série" Source="LINE|NUM_SERIE" HorizontalOptions="FillAndExpand" Grid.Column="0" Grid.Row="6" />
<m:EditListButton TargetSource="LINE|NUM_SERIE" ReqSql="select num_serie as id,num_serie as lib from NUMSERIES where (id_art=@LINE|ID_ARTICLE) and (id_depot=@id_depot)" Grid.Column="1" Grid.Row="6" />

 

Deze eigenschappen zijn verplicht :

  • TargetSource : de bron van de gekoppelde EditEntry
  • ReqSql : SQL-query voor het ophalen van gegevens

 

Regels voor het samenstellen van de SQL-query

  • Het moet één enkele tabel retourneren
  • In deze resultaattabel zijn de volgende kolommen verplicht en moeten ze van het karaktertype zijn :
    • ID : de waarde die in de EditEntry wordt geplaatst
    • LIB : de waarde die wordt weergegeven in de selectielijst
  • Het kan SQL-parameters accepteren vanuit alle bronnen van bestaande bedieningselementen in de XAML Tab 1-code. In ons voorbeeld :
    • @id_depot
    • @LINE|ID_ARTICLE
  • Het kan geen wijzigingen aanbrengen in de database

 

Opmerkingen

  • Als de geretourneerde lijst leeg is, wordt er een trilling gegeven en wordt het bericht "Geen records gevonden!" weergegeven
  • Als de geretourneerde lijst slechts één record bevat, wordt het resultaat direct in de bijbehorende EditEntry geplaatst
  • Deze functionaliteit is slechts een hulpmiddel voor gegevensinvoer. Het bevat geen "business logica". Bijvoorbeeld, in ons voorbeeld, zou deze knop geïnstalleerd in een offerte-sequentie uiteindelijk dienen om een serienummer in een offerte in te voeren (wat uiteindelijk zal worden afgewezen bij het opslaan).
  • MercatorPenguinServer : min. versie = 2.10.9