Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Objekt in ListView ablegen + Zusatzspalte (https://www.delphipraxis.net/142384-objekt-listview-ablegen-zusatzspalte.html)

stho 27. Okt 2009 07:54


Objekt in ListView ablegen + Zusatzspalte
 
Guten morgen alle zusammen :-)
Ich möchte ein Listview mit einem Object füllen und eine weitere spalte mit einer Information des objektes.
Momentan mache ich das so:

Delphi-Quellcode:

    with DBInhalt.ListView1 do
    begin
      AddItem(Name2.Strings[i], Laden);
      Items.Add.SubItems.add(Anzahl.Strings[i]);
    end;
jedoch kommt dann immer sowas raus:


|___INHALT___|___________|
|____________|__INHALT2__|


ich möchte das jedoch in 1 Zeile haben. wie mache ich das?

Bernhard Geyer 27. Okt 2009 07:56

Re: Objekt in ListView ablegen + Zusatzspalte
 
Du solltest nicht mit Items.Add dir ein neues Item besorgen sondern das vorhandene Verwenden:
Delphi-Quellcode:
  var
    Item: TTreeNode;
  begin
    ...
    with DBInhalt.ListView1 do
    begin
      Item := AddItem(Name2.Strings[i], Laden);
      Item.SubItems.add(Anzahl.Strings[i]);
    end;

DeddyH 27. Okt 2009 08:02

Re: Objekt in ListView ablegen + Zusatzspalte
 
Aber nimm TListItem statt TTreeNode :zwinker:

Bernhard Geyer 27. Okt 2009 08:05

Re: Objekt in ListView ablegen + Zusatzspalte
 
Zitat:

Zitat von DeddyH
Aber nimm TListItem statt TTreeNode :zwinker:

Irgenwie war ich beim TTreeView :wall:

stho 27. Okt 2009 08:06

Re: Objekt in ListView ablegen + Zusatzspalte
 
Ich habe mich schomn gewundert warum es mit TTreeNode nicht geht ^^

aber wie erstelle ich das item?

mit

item := TListItem.Create(nil);
oder
item := TListItem.Create(self);

scheint es nicht zu funktionieren. :gruebel:

DeddyH 27. Okt 2009 08:19

Re: Objekt in ListView ablegen + Zusatzspalte
 
Delphi-Quellcode:
var Item: TListItem;
begin
  Item := DeineListView.Items.Add;
  Item.Caption := 'Hallo';
  Item.Data := DeinObjekt;
  Item.SubItems.Add('Welt');
end;
Müsste so funktionieren (ungetestet).


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