Jump to content
  • 0

"back" toets


guyvt

Question

Posted

Iemand een goed idee om een "back" toets te implementeren ?

 

Die zou steeds terug moeten gaan naar het vorige scherm, indien je via een of andere navigatie doorheen je programma 'loopt'.

Een beetje zoals de back knop van een webbrowser je de pagina toont die je ervoor hebt bezocht.

 

Ik vind het op zich geen leuk idee om te ontwikkelen, maar m'n klant houdt vol ...

4 answers to this question

Recommended Posts

  • 0
Posted

Dat brengt je 1 stap terug en daarna is het weer gedaan.

Beter kan je in je navigatie script ook een teller opnemen die verhoogd wordt en je variabele met layoutnamen herhalend maken door de teller op te nemen.

 

Je moet dan wel bij de knop 'terug' een script aanroepen met daarin ga naar layout, teller min 1 en variabele[teller] legen.

 

Als je begrijpt wat ik bedoel :)

 

Gaat dus iets worden als:

navigeer naar layout "abc"

$$Teller = $$Teller + 1

$$Historie[$$Teller] = layoutnaam

 

navigeer naar layout "xyz"

$$Teller = $$Teller + 1

$$Historie[$$Teller] = layoutnaam

 

knop terug:

$$Historie[$$Teller] = ""

$$Teller = $$Teller - 1

navigeer naar layout $$Historie[$$Teller]

 

Je kan erover denken om het leegmaken achterwege te laten, dan heb je ook nog de mogelijkheid om een knop 'verder' te implementeren.

Maar dat brengt weer andere problemen met zich: wat als je na terug een navigatie script aanroept? Dan moet alles wat al bestaat wat na de huidige tellerstand komt worden gewist, anders werkt je 'verder' onverwacht.

 

rmw

  • 0
Posted

Dank je !

 

Ik zie twee problemen:

- ooit bereik je het 'plafond' van het repeating field & daar moet de script mee rekening houden

- dit gaat terug naar de Layout, maar nog niet naar het record (of de found set) die toen actief was

 

Maar hiermee kan ik alvast aan de slag.

 

- Guy

  • 0
Posted

Je dient 'alles' vast te leggen met een variable en Back and Forth via aparte scripts laten lopen:

 

Back

Set Variable($$PreviousContext;GetValue(Get(ScriptParameter); ValueCount(Get(ScriptParameter)) - 1)
Set Variable($$LastLayout;LeftWords($$PreviousContext; WordCount($$PreviousContext) - 1)
Set Variable($$LastRecord;RightWords($$PreviousContext; 1)

 

Dat kun je aanvullen met SSLastField via het gebruik van een scripttrigger.

 

Op niveau van Back navigatie krijg je dan:

 

Go to Layout($$LastLayout)
Go to Record/Request/Page(No dialog;$$LastRecord)
SetVariable($$StepTrace2;$$StepTrace2  & ¶ &  RightWords($$StepTrace;2)

 

waarna je dan opnieuw die stap moet loggen:

 

SetVariable($$StepTrace;Let(
NewLog = LeftValues(Get(ScriptParameter); ValueCount(Get(ScriptParameter)) - 1);
Left(NewLog; Length(NewLog) - 1)
)

 

Alles bij elkaar heel wat werk voor een vrij breekbaar iets.

Field, layout, tab en record zou je ook kunnen loggen via een serie Custom Functions die je laat samenwerken.

 

Misschien een leuk hebbeding voor de klant, maar waarschijnlijk een nachtmerrie voor de developer.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...