Automatisches updaten einer Page unterbinden

12. Dezember 2013 12:20

Hallo :-) .

Ich komme direkt auf den Punkt :-)

Ich habe eine Seite, die Datensätze einer Tabelle anzeigt. Diese Seite wird mit einem Filter aufgerufen. Der Filter enthält unter anderem ein boolsches Feld, dass auf der Seite mit einem Häkchen angezeigt wird.

Das Problem ist nun, dass wenn der Wert dieses Häkchens verändert wird und man zwischen den Datensätzen springt, die Datensätze aus der Anzeige verschwinden, was generell zwar richtig ist, dies aber erst beim neu laden der Seite geschehen soll, oder von mir aus beim neuen öffnen der Seite.

Wie kann ich nun dieses verschwinden der geänderten Datensätze unterbinden?

Eine kleine Ergänzung:
Die Datensätze verschwinden aus der Ansicht erst, wenn man sie anklickt, oder mit den Cursortasten drüber läuft. Ich hoffe das ist jetzt halbwegs verständlich :-) .

Nachtrag2: Mir ist aufgefallen, dass wenn ich im OnAfterGetCurrRecord Trigger keinen Code drin habe, die Datensätze nicht aus der Anzeige rausfliegen...

Viele Grüße, Paul.
Zuletzt geändert von paulz am 12. Dezember 2013 13:19, insgesamt 1-mal geändert.

Re: Automatisches updaten einer Page unterbinden

12. Dezember 2013 13:09

Hi,

also ich glaube, dass ist nicht so trivial wie es sich anhört.

Da du das Häkchen des boolschen Feldes ja nicht umsonst rausnehmen und reinsetzen willst, müsste hier ein Umweg für die Anzeige gefunden werden.
Mir fällt da momentan nur sowas ein:

neue glob Variable (bool) auf der Page - dieses sollte anfänglich (OnOpenPage) immer auf True stehen, da dein boolsches Feld der Table ja anscheinend auf TRUE steht, wenn die Page geöffnet wird

ein neues Field in Page einbauen, welche Sourceexp die neue glob Var ist.
Das Ursprungsfeld aus der Table würde ich ausblenden/entfernen, da dafür ja nun deine Variable steht.
Im OnValidate-Trigger des neuen Feldes der Page könntest du prüfen, dass wenn die neue Variable auf False steht, der aktuelle Datensatz markiert wird (MARK) ....da du ja nur die Variable geändert hast und nicht das Feld der Table, bleibt der Datensatz auch beim Update erhalten :-)

Am Schluss müssen natürlich noch die Datensätze geändert werden, die markiert wurden -> also hier den OnClosePage-Trigger verwenden.

Ich hab keine Ahnung, ob es auch einfacher geht und ob ich es zuuuuu kompliziert beschrieben habe :(

Re: Automatisches updaten einer Page unterbinden

12. Dezember 2013 13:16

Hallo sweikelt.

Der Ansatz klingt nicht schlecht, nur sehe ich ein kleines Problem bei der boolschen Variable. Wenn diese einmal gesetzt wird, dann ändert sich in der Anzeige doch der Wert in allen Zeilen oder?

Habe das mit der boolschen Variable geprüft und es funktioniert wie gewünscht :-). Prima, Danke.
Zuletzt geändert von paulz am 12. Dezember 2013 13:52, insgesamt 1-mal geändert.

Re: Automatisches updaten einer Page unterbinden

12. Dezember 2013 13:31

also deine neue boolsche variable wird beim OnOpenPage auf TRUE gesetzt...somit sind alle Zeilen auf true

ABER: wenn du nun eine Zeile die Variable änderst, dann ist auch nur diese Zeile geändert....cool oder? :)

und damit du die geänderten Zeilen am Ende auch an die Table weitergibtst, würde ich diese wie gesagt marken und später dann alle gemarkten zeilen modifizieren (MODIFYALL...)

Re: Automatisches updaten einer Page unterbinden

12. Dezember 2013 19:09

Hallo,

wäre es hier nicht sinnvoll die Page temporär zu füllen?

Also nur mit den Datensätzen, die du gefilter hast und beim Schließen der page schreibst du alles wieder zurück.



Gruß
Aydin