Entwickler-Ecke
IO, XML und Registry - XML lesen und in Listview laden
Ivy - Mi 20.07.11 08:37
Titel: XML lesen und in Listview laden
Gutenmorgen,
ich habe eine XML datei in der zuvor daten aus einer ListView gespeichert wurde. Anschließend möchte ich nun die daten weider in meine ListView zurück laden. Jedoch sind die Items in meiner LV Images (in imagelist) und diese sollen auch wieder in der LV erscheinen. Wie kann ich nun das so verknüpfen, dass über den Imagenamen auch das Bild geladen wird und nicht nur der text?
Hier der bisherige code zum laden:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| XmlDocument xml = new XmlDocument(); xml.Load(PfadXMLFile); XmlNodeList xnList = xml.SelectNodes("/Rack"); foreach (XmlNode xn in xnList) { string Modulbezeichnung = xn["Modulbezeichnung"].InnerText; ListViewItem item = new ListViewItem(Modulbezeichnung); item.SubItems.Add(Modulbezeichnung); lvwZiel.Items.Add(item); |
Und die Struktur meiner XML datei:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9:
| <Rack> <Rackhoehe>16</Rackhoehe> <Projekt>98765</Projekt> <Module> <Modul1 Imageindex="0" Modulbezeichnung="Blindplatte" /> <Modul2 Imageindex="2" Modulbezeichnung="Netzteil" /> <Modul3 Imageindex="3" Modulbezeichnung="Rechner" /> </Module> </Rack> |
Vielleicht hat ja jemand eine idee, auf jedenfall müsst ich ja über den imageindex i-wie auf die Bilder kommen....
Auf die Felder Projekt usw greife ich so zu und das klappt auch wunderbar:
C#-Quelltext
1:
| XmlNode node = doc.SelectSingleNode("/Rack/Projekt"); |
Aber mit meinen Bilder klappt das nicht.
Danke LG
Kha - Mi 20.07.11 12:00
Ich glaube nicht, dass du daraus den Originalpfad des Bildes rekonstruieren kannst. Den solltest du stattdessen beim Laden des Bildes direkt mit in das ListViewItem speichern, z.B. im Tag, und dann entsprechend speichern und laden.
Ivy - Do 21.07.11 08:44
aha, also du meinst ich soll die bild pfad mit in die xml datei speichern?? aber es gibt ja keinen pfad wenn die bilde rin meiner imagelist drinnen sind?!
Th69 - Do 21.07.11 10:12
Hallo Ivy,
ist das denn eine feststehende ImageList? Wenn ja, dann brauchst du doch nur den ImageIndex bzw. den Key in der XML zu speichern und mittels "listViewItem.ImageIndex" bzw. "listViewItem.ImageKey" zuzuweisen.
Ivy - Do 21.07.11 10:27
okay, habe den index jetzt in meiner xml datei gespeichert:
C#-Quelltext
1:
| writer.WriteElementString("Imageindex", items.ImageIndex.ToString()); |
und wie bekomm ich das jetzt wieder aufgerufen?? habs so probiert, aber es erscheint nur eine zahl "-1"
C#-Quelltext
1:
| lvwZiel.Items.Add(item.ImageIndex.ToString()); |
Ivy - Do 20.10.11 08:57
ERLEDIGT
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!