guyvt Posted April 6, 2010 Posted April 6, 2010 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 ... Quote
0 fmwebshop Posted April 7, 2010 Posted April 7, 2010 In ieder navigatie script de scriptstap opnemen scriptvariabele instellen: $$huidigelayout = get(layoutnaam) button ga naar layout: berekening $$huidigelayout Quote
0 rmw Posted April 7, 2010 Posted April 7, 2010 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 Quote
0 guyvt Posted May 2, 2010 Author Posted May 2, 2010 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 Quote
0 JeanWM Posted May 2, 2010 Posted May 2, 2010 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. Quote
Question
guyvt
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.