Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - TListView mit Einträgen füllen


derDoc - So 06.04.03 12:49
Titel: TListView mit Einträgen füllen
Ich habe mal eine ganz blöde Frage:
Ich habe eine ListView, deren ViewStyle auf vsReport steht und 4 Columns hat. Jetzt will ich einen Eintrag in jede Spalte einfügen. Zu diesem Zweck benutze ich

Quelltext
1:
2:
3:
4:
ListView1.Items.Add.Caption := a1;
ListView1.Items.Add.SubItems.Add(a2);
ListView1.Items.Add.SubItems.Add(a3);
ListView1.Items.Add.SubItems.Add(a4);

Jetzt wird in die erste Spalte wie gewollt a1 eingefügt, aber in der Zweiten sammelt sich der ganze Rest.

Was ist hier mein Fehler?


wulfskin - So 06.04.03 14:42

Hallo derDoc!

Siehe Hilfe, so geht es halt nicht! Es geht so:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var 
  ListItem: TListItem;
begin
  ListItem := ListView.Items.Add;
  with ListItem do begin
    Caption := a1;
    SubItems.Add(a2);
    SubItems.Add(a3);
    SubItems.Add(d4);
  end;
Gruß wulfkin!


Delete - So 06.04.03 17:14

@derDoc: Ist das Programm DLLExports nicht von dir (zu finden auf http://www.jahn-software.de)? Da hast du es doch auch schon mit einem Listview gearbeitet und Subitems hinzugefügt. Mir kommt da leider jetzt so ein kleiner Verdacht. :roll:


derDoc - Mo 07.04.03 07:14

@Luckie: Natürlich weiß ich, dass ich es zusammen mit einem Kumpel beim DLLExports anders gemacht habe, aber ich möchte eigentlich wissen, wo der Unterschied zwischen

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  Eintrag: TListItem;
begin
  Eintrag := ListView1.Items.Add;
  Eintrag.Caption := a1;
  Eintrag.SubItems.Add(a2);
  Eintrag.SubItems.Add(a3);
  Eintrag.SubItems.Add(a4);


und dem Code aus dem ersten Post besteht, denn schließlich geht der Eine und der Andere macht Fehler.


NeoXan - Sa 05.07.03 21:03

vielelicht weil er es dann gleichzeitig ausführt...wenn man es ja anders macht dann kommt ja nach Reihenfolge halt der Eintrag... :P