![]() |
listview 2. Spalte ansprechen
Hallo zusammen,
ich habe eine ListView mit 3 Spalten. Ist in der 2. Spalte ein Wert größer als 0 dann soll dieser rot gefärbt werden. Ich weiß aber nicht, wie ich die 2. Spalte ansprechen soll?! Ansatz:
Delphi-Quellcode:
oder
if ListItem.SubItems.Strings[2] > 0 then ...;
Delphi-Quellcode:
Aber bei letztem fasst er 2. und 3. Spalte zusammen.
if Items.subitems.text > 0 then ...;
Kann mir bitte wer helfen?! |
Re: listview 2. Spalte ansprechen
Delphi-Quellcode:
Listview1.Subitems[0].Text := 'Hello world';
|
Re: listview 2. Spalte ansprechen
Danke, aber hatte ich auch schon versucht:
Subitems = undefinierter Bezeichern |
Re: listview 2. Spalte ansprechen
Delphi-Quellcode:
var
lvi: TListitem; begin lvi := LV.Items.Add; lvi.Caption := 'erste Spalte'; lvi.SubItems.Add('zweite Spalte'); lvi.SubItems.Add('dritte Spalte); |
Re: listview 2. Spalte ansprechen
Ja, o.k..
Aber irgendwie steig ich da jetzt glaub ich immer noch nicht ganz durch. Zitat:
Delphi-Quellcode:
Funktioniert aber nicht!
if lvi.SubItems.Text > '0' ...
|
Re: listview 2. Spalte ansprechen
Sorry, o.k., funktioniert.
Liegt nur noch an den Zahlenwerten. |
Re: listview 2. Spalte ansprechen
Hi!
Ist es richtig, dass es
Delphi-Quellcode:
heißt? Dann isses ja ein String. Geht das?
'0'
Ciao fkerber |
Re: listview 2. Spalte ansprechen
Ja, das meinte ich eben mit
Zitat:
|
Re: listview 2. Spalte ansprechen
Hi!
Sorry, vielleicht verstehe ich das Problem nicht. Aber kann man mit > einen String vergleichen? Müsstest du es nicht ohne ' ' schreiben? Ciao fkerber |
Re: listview 2. Spalte ansprechen
Ja, das stimmt, aber dann gibts ne Fehlermeldung: Inkompatible Typen String und Integer
Aber ich glaub, mich hat noch keiner richtig verstanden. ListView Datum_________Tage bis 23.02.2004___Name 19.02.2004____4_____________________Michael 23.02.2004____0_____________________Bernd 25.02.2004____368___________________Christian Wenn also nun in der 2. Spalte (Tage bis) der Wert größer als 0 ist, dann soll dieser Wert rot eingefärbt werden. Also das Ganze nochmal:
Delphi-Quellcode:
Ich hoffe, es ist jetzt verstanden und tut mir leid, dass es am Anfang vielleicht nicht klar ausgedrückt war.
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin if Item.SubItems.Text >= 0 then begin TListView(Sender).Canvas.Font.Color := clRed; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 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