AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

listview 2. Spalte ansprechen

Ein Thema von Micha · begonnen am 24. Feb 2004 · letzter Beitrag vom 25. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#1

listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 19:53
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:

if ListItem.SubItems.Strings[2] > 0 then ...; oder
if Items.subitems.text > 0 then ...; Aber bei letztem fasst er 2. und 3. Spalte zusammen.

Kann mir bitte wer helfen?!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 19:56
Listview1.Subitems[0].Text := 'Hello world';
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#3

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:01
Danke, aber hatte ich auch schon versucht:

Subitems = undefinierter Bezeichern
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:05
Delphi-Quellcode:
var
  lvi: TListitem;
begin
  lvi := LV.Items.Add;
  lvi.Caption := 'erste Spalte';
  lvi.SubItems.Add('zweite Spalte');
  lvi.SubItems.Add('dritte Spalte);
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#5

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:11
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:

if lvi.SubItems.Text > '0' ... Funktioniert aber nicht!
  Mit Zitat antworten Zitat
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#6

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:13
Sorry, o.k., funktioniert.
Liegt nur noch an den Zahlenwerten.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:14
Hi!

Ist es richtig, dass es

'0' heißt? Dann isses ja ein String. Geht das?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#8

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:17
Ja, das meinte ich eben mit

Zitat:
Liegt nur noch an den Zahlenwerten.
Funktioniert also bis jetzt nur mit = '0'.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#9

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:20
Hi!

Sorry, vielleicht verstehe ich das Problem nicht.
Aber kann man mit > einen String vergleichen?

Müsstest du es nicht ohne ' ' schreiben?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Micha

Registriert seit: 21. Jul 2003
Ort: Neumarkt
263 Beiträge
 
#10

Re: listview 2. Spalte ansprechen

  Alt 24. Feb 2004, 20:24
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 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