Hintergrundfarbe Zeile ListView Inhalt-Abhängig
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe eine ListView mit 3 Spalten (siehe Anlage). Der Inhalt der 1. (Datumswert) und 2. Spalte (Name) wird aus einer Datenbank ausgelesen. In der 3. Spalte die Anzahl der Tage, die zwischem dem Wert der 1. Spalte und dem heutigem Datum liegen. Nun möchte ich die Einträge rot markieren, die in der Spalte "Tage vergangen" (3. Spalte) einen Wert haben der größer als 21 Tage ist, gelbe Markierung bei > 14 Tage, grün = bis 14 Tage. Eintragungen in der Zukunft sollen blau markiert sein. Hier erstmal mein Code für das Berechnen der Tage (3. Spalte):
Delphi-Quellcode:
Ich hoff es war verständlich.
if datetostr(now) > listitem.Caption then
begin ListItem.SubItems.Add('+ ' + IntToStr(DaysBetween(strtodate(DateToStr(Now)), StrToDate(ListItem.Caption)))); end else ListItem.SubItems.Add('- ' + IntToStr(DaysBetween(strtodate(DateToStr(Now)), StrToDate(ListItem.Caption)))); Kann mir wer helfen? |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
was ist daysbetween? bei d5 ist das nicht dabei :(
raik |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
Wenn ich mit nicht Irre heisst die Unit DateUtils...
mfG mirage228 |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
EDIT: Sorry, falscher Button, Beitrag kann weg...
|
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
Zitat:
|
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
@micha, das habe ich mir gedacht :mrgreen:
das war aber nicht meine frage :shock: raik |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
Hä? Das war nicht deine Frage:
Zitat:
|
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
sorry :oops:
falsch ausgedrückt, in d5 ist die funktion nicht dabei, welche version hast du? |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
Hallo kiar,
du musst DateUtil bei uses hinzufügen. Dann müsste er die Funktion erkennen. Tschüß Markus |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
schreibt doch einfach mal eure version auf d5 kennt weder DAteUtil noch DaysBetween!
|
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
Also ich hab Delphi 5 und bei mir gibt es beides.
Brauchst du ein Beweisfoto? :) Tschüß Markus |
Re: Hintergrundfarbe Zeile ListView Inhalt-Abhängig
@Alle: Bitte beim Thema bleiben ;-)
@Micha: Das Zauberwort dürfe .OnCustomDrawItem und .OnCustomDrawSubItem heissen. Hier ein Beispiel:
Delphi-Quellcode:
In OnCustomDrawItem werte ich den Inhalt des ersten SubItems (wo die Tagesdifferenz steht) aus.
var
farbe : TColor; procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var i_wert : Integer; begin farbe := clWhite; //Standardfarbe i_wert := StrToInt (Item.SubItems.Strings[0]); // Inhalt von Spalte 2 if i_wert <= 0 then farbe := clgreen; if i_wert < -14 then farbe := clYellow; if i_wert < -21 then farbe := clred; if i_wert > 0 then farbe := clblue; ListView1.Canvas.Brush.Color := farbe; // Hintergrundfarbe des Items setzen end; procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin ListView1.Canvas.Brush.color := farbe; // Hintergrundfarbe der SubItems setzen end; Abhängig davon weise ich einer globalen Variablen einen Farbwert zu. In OnCustomDrawSubItem verwende ich diese um die Hintergrundfabe zu setzen. Das solltest Du eigentlich anpassen könnne. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz