Einzelnen Beitrag anzeigen

Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
171 Beiträge
 
Delphi XE2 Professional
 
#12

AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer

  Alt 8. Jun 2010, 18:10
Hy,

Es wurde jetzt schon mehrfach darauf hingewiesen das eine Schleife an dieser Stelle unnötig ist.

Setz doch einfach mal einen Breakpoint in der procedure und sieh dir an wann diese aufgerufen wird
-> unzwar für jede Zelle 1 mal

Das heisst das du jedesmal wenn eine Zelle gezeichnet wird, in deiner Schleife das komplette Grid durch gehst!

Um die Fehlermeldung zu vermeiden, darfst du die erste Zeile(0) nicht mit verarbeiten:
Delphi-Quellcode:
procedure TFRechnung.AdvStringGrid3GetCellColor(Sender: TObject; ARow, ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
var
  Datumrechnung, Datumrechungfaellig: TDate;
begin
  if ARow <> 0 then // Die Kopfzeile nicht prüfen
  begin
    Datumrechnung := StrToDate(AdvStringGrid3.Cells[9, ARow]);
    Datumrechungfaellig := StrToDate(AdvStringGrid3.Cells[11, ARow]);
    if Datumrechungfaellig = Datumrechnung + 14 then
      ABrush.color := clred;
  end;
end;
  Mit Zitat antworten Zitat