Page leert sich? [Gelöst]

6. Oktober 2017 08:11

Hallöle,

vielleicht könnt ihr mir ja helfen, ist sicher ne Kleinigkeit, ich komm nur einfach nicht drauf.

Ich hab hier ne Page type List. Ein Feld ist ein Bool, den man händisch setzen kann. Nun wollte ich nen Button "Alles markieren" erstellen.

Rec.SETRANGE(Versand, FALSE);
IF Rec.FIND('-') THEN REPEAT
Versand:= TRUE;
UNTIL Rec.NEXT = 0;
MODIFY;
COMMIT;

Klick ich jetzt auf meinen Button leert sich die Ansicht der Page. Auch wenn ich auf Aktualisieren klicke, erscheinen meine Daten nicht mehr. Erst wenn ich die Page schließe und neu öffne, sind die Datensätze wieder da und der Haken ist auch brav gesetzt.

Ich hab es schon mit CurrPage.Update versucht, das hat auch nicht geholfen.

LG
Zuletzt geändert von Kristin K. am 6. Oktober 2017 10:59, insgesamt 1-mal geändert.

Re: Page leert sich?

6. Oktober 2017 08:33

Kann das sein das die Page einen Filter hat, also nur Datensätze mit Versand=FALSE anzeigt?

Ansonsten, das hat jetzt nichts mit deinem Problem zu tun, kannst du auch folgenden Code verwenden um die Datensätze zu ändern:
Code:
Rec.SETRANGE(Versand, FALSE);
IF Rec.FINDSET THEN
  Rec.MODIFYALL(Versand,FALSE);

Re: Page leert sich?

6. Oktober 2017 09:15

Das mit dem Filter kann nicht nur sein, sondern steht ja sogar explizit so in dem Beispiel in der ersten Zeile.
Es wird der Rec auf Versand = FALSE gefiltert, und anschließend alle gefundenen Datensätze auf Versand := TRUE gesetzt.
Da der Filter nicht wieder aufgehoben wird, kann die Page logischerweise nichts anzeigen.

Entweder einen Rec.RESET oder einen Rec.SETRANGE(Versand) am Ende hinzufügen.

Darüber hinaus muss der MODIFY noch innerhalb der REPEAT-Schleife ausgeführt werden.

Re: Page leert sich?

6. Oktober 2017 10:58

Oh Super!
Ich sag ja, trivial :D aber das wusste ich echt nicht. Jetzt komm ich mir schon ein bisschen blöde vor :-|

Danke! Klappt alles, ich mach ein Geschlossen davor.