![]() |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Moin, Moin.
Nun, wenn du die Schleife entfernst, aber das i verwendest, dürfte i einen nicht gewollten Wert besitzen. Vermutlich muss für i jetzt Row eingesetzt werden - aber du solltest die gesamte Methode OnDrawCell() mal mit dem aktuellen Stand zeigen... |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
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; |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Hallo,
ich wußte es leider nicht besser aber das half:
Delphi-Quellcode:
Da das AdvStrigGrid auch einen FloatingFooter hat muss ich jetzt nur noch die letzte Zeile herausfinden dann sollte es keine Fehler mehr geben
if ARow <> 0 then
Danke für die tolle Hilfe und Geduld. Gruss Waldow |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Hallo,
so funktioniert das mit TMS nie. Setze deinen Code unter GetCellColor. procedure.. if ARow > 0 then //Spaltenüberschriften nicht mit einbeziehen begin if acol=1 then //Spalte mit deinem Rechnungsdatum begin if (AdvGrid1.cells[2], arow] =rdatum+14) then //Fälligkeitspalte Color:=clred; end; end; Die Spaltennummern mußt du selber anpassen. Ich denke das ist kein Problem. Olaf |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Du kannst die Abfrage der Zeilennummer auch umgehen und mit TryStrToDate(const S: string; out Value: TDateTime): Boolean arbeiten. Gibt true zurück wenn in S ein "Datum" steht.
aber bei TMS gibt es auch
Delphi-Quellcode:
Das sind deine Start bzw. End-Spalten/Zeilen also:AdvStringGrid1.FixedFooters AdvStringGrid1.FixedRows AdvStringGrid1.FixedCols
Delphi-Quellcode:
if ARow > AdvStringGrid1.FixedRows then
|
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Danke, wie muss sich ich das mit dem FixedFooters machen um diese Reihe auszuschliessen?
Delphi-Quellcode:
Damit funktioniert es nicht.
if AdvStringGrid3.FixedFooters < 1
Gruss waldow |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Versuch es doch mal mit
Delphi-Quellcode:
if ARow < AdvStringGrid1.FixedFooters then
|
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Leider nicht, oder mache ich immer noch etwas falsch?
Delphi-Quellcode:
Gruss
procedure TFRechnung.AdvStringGrid3GetCellColor(Sender: TObject; ARow,
ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont); var Datumrechnung: TDate; begin if ARow > 0 then begin if ARow < AdvStringGrid3.FixedFooters then begin if acol = 9 then begin Datumrechnung := StrToDate(AdvStringGrid3.Cells[9, Arow]); Label5.Caption := Format('%d', [DaysBetween(Datumrechnung, now)]); if strtoint(Label5.Caption) > 14 then abrush.color := clred; end; end; end; end; Waldow |
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Welchen Wert hat denn FixedFooters?
|
AW: Wenn das Fälligkeitsdatum erreicht ist soll Zelle im Stringgrid rot angezeigt wer
Liste der Anhänge anzeigen (Anzahl: 1)
Ich sende dir mal als Download eine Demo mit.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz