Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Delphi.Narium,
29. Jan 2018
Beim Zeichnen der Daten müsste das Grid doch eigentlich immer erstmal von oben nach unten durch die Datenmenge gehen.
Wenn man nun hergeht und im Ereignis AfterOpen (bzw. beim Setzen eines Filters) eine (globale) Stringliste leert und immer dann, wenn eine Zeile gezeichnet wird prüft, ob die aktuelle VorgangsID dort vorhanden ist, müsste doch ungefähr so eine Logik funktionieren:
procedure...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Delphi.Narium,
29. Jan 2018
Für die Berechnung sind aber Informationen aus dem vorherigen Datensatz (VorgangsID) erforderlich.
Berechnet Felder beziehen sich aber (soweit ich weiß) auf den aktuellen Datensatz. Der Datensatz enthält also bereits alle zur Berechnung erforderlichen Informationen. Diese Bedingung ist hier aber nicht erfüllt.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Delphi.Narium,
29. Jan 2018
Hast Du für das Programm zufällig die JVCL zur Verfügung?
Dann könnte sich ein Blick auf TJvDBGrid lohnen.
Der Austausch ist einfach:
Altes Grid raus, neues Grid rein, solange der Name gleich bleibt, sollte das erstmal ohne Nebenwirkungen gehen.
Die Methoden für die farblische Gestaltung erscheinen mir aber deutlich leistungsfähiger.
Ein Grundproblem wird aber bleiben:
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Delphi.Narium,
26. Jan 2018
Das Malen passiert erst bei der Anzeige (nur der sichtbare Bereich) und nicht beim Laden der Daten.
Habe Deine Idee vermutlich noch nicht so ganz verstanden, aber hier müsste irgendwo eine Änderung im Quelltext stattfinden:procedure TCheckdaten.SwitchGridColor;
begin
If GridIDChangeDetected then begin
if CurrentGridColor = Color1 then
CurrentGridColor := Color2
else
...