Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Delphi 7 TListView (https://www.delphipraxis.net/166098-delphi-7-tlistview.html)

Mazen 30. Jan 2012 13:04

Delphi 7 TListView
 
Hallo,

ich scheitere jetzt seit geschlagenen 2 Stunden daran, Daten in ein TListView zu bringen.
Nichtmal zur "Entwicklungszeit" bekomm ich das zustande was ich brauche.

Ich brauche eine Tabelle mit 4 Spalten (Col1, Col2, Col3, Col4), diese habe ich meiner Meinung nach auch richtig unter "Colums" eingetragen. Da tauchen die 4 jetzt auch auf. Aber im ListView sind noch keine Überschriften zu sehen.
Also dachte ich mir die werden wohl auftauchen wenn ich Daten hinzufüge, aber durch den "ListView-Eintragseditor" steig ich auch nicht durch, das ist meiner Meinung nach auch ein Editor für ein TreeView? Oo
Und später muss ich ja auch Daten zur Laufzeit einfügen... :/
Die Delphi Hilfe hat mir absolut nicht weitergeholfen und auch Google etc. hat keine nennenswerten Ergebnisse geliefert. Bin ich der einzige der zu dämlich ist diese Komponente zu verwenden? Oo

DeddyH 30. Jan 2012 13:06

AW: Delphi 7 TListView
 
ViewStyle hast Du auf vsReport gesetzt?

Dawn87 30. Jan 2012 13:08

AW: Delphi 7 TListView
 
Du hast doch dieses kleine Fenster, was in der IDE schwebt. Das wo die Liste mit deinen Spalten drin ist. Wenn Du dort eine Spalte auswählst, sollte sich der Inhalt des Objektinspektors ändern. Dort kannst Du unter "Caption" dann den Spaltennamen einstellen.

Beim Eintragseditor gilt:
Einträge auf der 1. Ebene entsprechen dem Inhalt der 1. Spalte. Alle Untereinträge entsprechen dann den nächsten Spalten.

Bei der Ansteuerung im Code, gilt auch immer, dass die 1. Spalte über die "Caption"-Eigenschaft angesteuert wird und die retslichen über die StringList "SubItems".

Grüße
Stefan

Mazen 30. Jan 2012 13:14

AW: Delphi 7 TListView
 
Wow, das ging schnell!
Vielen vielen Dank auch beiden... :)

Das mit dem vsReport war schonmal entscheidend, und der Tipp das die "Caption" Spalte 1 darstellt und alle weiteren Spalten als "SubItems" angesprochen werden hat mir dann endgültig den Durchbruch gebracht :DD
Danke :)

Mazen 31. Jan 2012 09:30

AW: Delphi 7 TListView
 
Ich hoffe mal nach knapp 24 Stunden ist ein Doppelpost gestattet. Aber wenn ich den letzten Eintrag editiere befürchte ich das könnte untergehen :/

Und zwar gehts jetzt dadrum bestimmt Zeilen im ListView zu färben. Ich habe gelesen das das mit dem Event "CustomDrawItem" des ListView gemacht werden soll. Allerdings funktioniert das bei mir nicht.
Das Prinzip ist folgendes:

Ich habe in meiner "Hauptfunktion" eine Schleife mit der der ListView gefüllt wird. Meine Hoffnung war das das Event "CustomDrawItem" jedesmal aufgerufen wird wenn li.Caption := '...' ausgeführt wird. Bei mir ist es aber so das die Schleife erstmal komplett durchläuft, und erst danach das Event ausgeführt wird (natürlich genausoft wie auch li.Caption aufgerufen wurde, aber das nützt mir nichts, da ich bei Laufzeit in der Schleife eine Variable setze und diese im Event abgefragt wird. Nur das ist natürlich nutzlos wenn li.Caption und das Event nicht abwechselnd aufgerufen werden.

Mein Code im Event sieht so aus:
Code:
if fehlercode = '1 ' then
  begin
    Sender.Canvas.Font.Color := clRed;
    DefaultDraw := True;
  end
  else if fehlercode = '2 ' then
  begin
    Sender.Canvas.Font.Color := clGreen;
    DefaultDraw := True;
  end
  else if fehlercode = '1 2 ' then
  begin
    Sender.Canvas.Font.Color := clBlue;
    DefaultDraw := True;
  end else
  begin
    Sender.Canvas.Font.Color := clDefault;
    DefaultDraw := True;
  end;

Luckie 31. Jan 2012 09:56

AW: Delphi 7 TListView
 
Zitat:

Zitat von Mazen (Beitrag 1148458)
Ich hoffe mal nach knapp 24 Stunden ist ein Doppelpost gestattet. Aber wenn ich den letzten Eintrag editiere befürchte ich das könnte untergehen :/

Wäre es. aber für eine neue Frage mach auch einen neuen Thread auf. Ich schließe dann hier mal. Die ursprüngliche Frage scheint ja geklärt zu sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 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