Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi listview 2. Spalte ansprechen (https://www.delphipraxis.net/16869-listview-2-spalte-ansprechen.html)

Micha 24. Feb 2004 18:53


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:
if ListItem.SubItems.Strings[2] > 0 then ...;
oder
Delphi-Quellcode:
if Items.subitems.text > 0 then ...;
Aber bei letztem fasst er 2. und 3. Spalte zusammen.

Kann mir bitte wer helfen?!

Luckie 24. Feb 2004 18:56

Re: listview 2. Spalte ansprechen
 
Delphi-Quellcode:
Listview1.Subitems[0].Text := 'Hello world';

Micha 24. Feb 2004 19:01

Re: listview 2. Spalte ansprechen
 
Danke, aber hatte ich auch schon versucht:

Subitems = undefinierter Bezeichern

Luckie 24. Feb 2004 19:05

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);

Micha 24. Feb 2004 19:11

Re: listview 2. Spalte ansprechen
 
Ja, o.k..

Aber irgendwie steig ich da jetzt glaub ich immer noch nicht ganz durch.

Zitat:

Ist in der 2. Spalte ein Wert größer als 0 dann ...
Müsste also so aussehen:

Delphi-Quellcode:
if lvi.SubItems.Text > '0' ...
Funktioniert aber nicht!

Micha 24. Feb 2004 19:13

Re: listview 2. Spalte ansprechen
 
Sorry, o.k., funktioniert.
Liegt nur noch an den Zahlenwerten.

fkerber 24. Feb 2004 19:14

Re: listview 2. Spalte ansprechen
 
Hi!

Ist es richtig, dass es

Delphi-Quellcode:
'0'
heißt? Dann isses ja ein String. Geht das?

Ciao fkerber

Micha 24. Feb 2004 19:17

Re: listview 2. Spalte ansprechen
 
Ja, das meinte ich eben mit

Zitat:

Liegt nur noch an den Zahlenwerten.
Funktioniert also bis jetzt nur mit = '0'.

fkerber 24. Feb 2004 19:20

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

Micha 24. Feb 2004 19:24

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:
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;
Ich hoffe, es ist jetzt verstanden und tut mir leid, dass es am Anfang vielleicht nicht klar ausgedrückt war.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr.
Seite 1 von 2  1 2      

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