Mercator in schrijfmodus: berekende expressies

0000002902     -      19-04-2019

In MercatorPenguin 2.3 is het mogelijk om berekende expressies in de wijzigings schermen te plaatsen (Sig, Action, Billing). Dit gebeurt rechtstreeks in de code XAML door het toevoegen van:

<m:EditExpression Expression="$var1$ + $var2$" />

Een EditExpression is in feite een Label die de capaciteit heeft om zijn property Textautomatisch te berekenen. Opdat deze expressie zou werken, zal ze moeten verwijzen naar EditEntries die in het scherm aanwezig zijn. In ons voorbeeld gebruikt de EditExpression twee EditEntries van de bronnen var1 en var2 zijn. Noteer dat de namen van de bronnen niet hoofdletter gevoelig zijn maar door het karakter $ moeten worden ingekaderd.

De berekening van de expressie op zich wordt in het scherm van MercatorPenguin gerealiseerd. Er is dus geen enkele opvraging van de MercatorPenguinServer en dus geen enkel verbruik van het netwerk “data” voor het uitvoeren van deze berekening. Het wordt uitgevoerd

  • Bij het initialiseren van het scherm
  • Als iedere in de expressie gebruikte EditEntries de focus verliezen.

Welke syntax mag worden gebruikt?

De syntax van System.Data.DataTable.Compute() van de .net standaard. Deze pagina geeft enkele aanduidingen over mogelijke syntaxen.Voor de evaluatie van de expressie vervangt MercatorPenguin alle parameters van het type $var$ door hun waarde. Er is dus geen naam van een kolom die daarom bij deze beoordeling in aanmerking wordt genomen. Ze overweegt alleen scalaire waarden.

De tekenreeksen moeten tussen enkele aanhalingstekens worden opgegeven:  '$var1$' + '-' + '$var2$'

Opmerking: de compilatie en de uitvoering van gecompileerde code is onmogelijk in mobiele apparaten. Er is dus nooit volledige ondersteuning van de c#-taal of een andere taal, samengesteld op deze plaats van MercatorPenguin.


Als u het resultaat van deze expressie in de basistabel van het scherm in wijziging wenst op te slaan (tabel van het bestand, PIEDS_V/A, of ANTION), dan volstaat het om een eigenschap Source die het doelveld aangeeft toe te voegen.

<m:EditExpression Expression="$var1$ + $var2$" Source="macolonne" />

 

De XAML code op deze pagina herneemt een voorbeeld.