![]() |
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; |
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; |
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! |
Re: ListView Problem
Delphi-Quellcode:
Find ich schöner und man spart die Item Variable.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; |
Re: ListView Problem
Zitat:
|
Re: ListView Problem
Eher Listen als Arrays, aber sonst stimmt es
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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