Delphi-PRAXiS

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 Problem (https://www.delphipraxis.net/116541-listview-problem.html)

tschinkes 1. Jul 2008 15:28


ListView Problem
 
Hallo, ich versuche per SimpleXML die Daten auszulesen und in eine ListView einzulesen. leider beginnt die Listview in der zweiten Spalte und ich weiß net warum, hab schon ein paar dinge probiert aber nix funktioniert.

mein Code zum auslesen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
ListView1.Clear;
XmlDoc.LoadFromFile('platten.xml');
Item := ListView1.ITems.Add;
counter := XmlDoc.Root.Items.Count;


for i := 0 to counter -1 do
begin
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['id'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Titel'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Artist'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Label'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['EAN'].Value);
end;

end;

shmia 1. Jul 2008 15:34

Re: ListView Problem
 
Delphi-Quellcode:
// ungetested
procedure TForm1.FormCreate(Sender: TObject);
begin
 ListView1.Clear;
 XmlDoc.LoadFromFile('platten.xml');
  for i := 0 to XmlDoc.Root.Items.Count -1 do
  begin
    Item := ListView1.ITems.Add;
    Item.Caption := XmlDoc.Root.Items.Item[i].Items.ItemNamed['id'].Value; // wichtig, Caption muss befüllt werden

    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Titel'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Artist'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Label'].Value);
    Item.SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['EAN'].Value);
  end;

tschinkes 1. Jul 2008 16:00

Re: ListView Problem
 
Ahhhhhhh ok, danke funktioniert ohne Probleme.
Also wenn ich es jetzt so richtig verstanden hab, ist die erste Spalte sozusagen die Orientierungsspalte und die ab der zweiten die SubItems, die über die jeweiligen Arrays abgerufen werden können?
Wiesder etwas gelernt, Danke!

Andreas L. 1. Jul 2008 17:35

Re: ListView Problem
 
Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
begin
  ListView1.Clear;
  XmlDoc.LoadFromFile('platten.xml');
  for i := 0 to XmlDoc.Root.Items.Count -1 do
  begin
    with ListView1.Items.Add do
    begin
      Caption := XmlDoc.Root.Items.Item[i].Items.ItemNamed['id'].Value; // muss nicht befüllt sein ;-)
      SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Titel'].Value);
      SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Artist'].Value);
      SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['Label'].Value);
      SubItems.Add(XmlDoc.Root.Items.Item[i].Items.ItemNamed['EAN'].Value);
    end;
  end;
Find ich schöner und man spart die Item Variable.

Mackhack 1. Jul 2008 19:42

Re: ListView Problem
 
Zitat:

Zitat von tschinkes
Ahhhhhhh ok, danke funktioniert ohne Probleme.
Also wenn ich es jetzt so richtig verstanden hab, ist die erste Spalte sozusagen die Orientierungsspalte und die ab der zweiten die SubItems, die über die jeweiligen Arrays abgerufen werden können?
Wiesder etwas gelernt, Danke!

So kann man sichs merken ja! 8)

mkinzler 1. Jul 2008 19:45

Re: ListView Problem
 
Eher Listen als Arrays, aber sonst stimmt es


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