meilon
Erfahrenes Mitglied
Hallo!
Ich möchte eine Art Tabelle im Programm speichern, dafür speichere ich die Daten in in einem XmlDocument (doc) in Properties.Settings.Default. Diese Daten sollen via DataGridView editiert werden können. Jetzt zu meinem Problem:
Eigentlich hatte ich mir als Struktur für die XML folgendes überlegt:
Diese Struktur bekomme ich nur hin, wenn ich sie so in ein DataSet (ds) mit ReadXml hineinlade und dann auch wieder via doc.innerXml = ds.GetXml(); zurückschreibe. Da es aber auch vorkommen kann, dass der User alle "child" löscht, muss für das DataGridView (dgv) im DataSet eine neue Tabelle erstellt werden. Das mache ich momentan so:
Jetzt kann ich neue Daten hineinschreiben und auch speichern, nur passiert das jetzt in einem solchen Format
Wie kann ich es so speichern lassen, wie ich es will? Muss ich dafür selber eine Funktion schreiben? Wenn ihr einen anderen Vorschlag habt, wie ich die Daten anordnen soll (evtl. so wie GetXml(); das will?), dann auch her damit!
Grüße
meilon
Ich möchte eine Art Tabelle im Programm speichern, dafür speichere ich die Daten in in einem XmlDocument (doc) in Properties.Settings.Default. Diese Daten sollen via DataGridView editiert werden können. Jetzt zu meinem Problem:
Eigentlich hatte ich mir als Struktur für die XML folgendes überlegt:
Code:
<children>
<child name="value" size="blah" foo="bar" />
<child name="test" size="blub" foo="house" />
</children>
Diese Struktur bekomme ich nur hin, wenn ich sie so in ein DataSet (ds) mit ReadXml hineinlade und dann auch wieder via doc.innerXml = ds.GetXml(); zurückschreibe. Da es aber auch vorkommen kann, dass der User alle "child" löscht, muss für das DataGridView (dgv) im DataSet eine neue Tabelle erstellt werden. Das mache ich momentan so:
Code:
ds.DataSetName = "children";
ds.Tables.Add("child");
ds.Tables[0].Columns.Add("name");
ds.Tables[0].Columns.Add("size");
ds.Tables[0].Columns.Add("foo");
dgv.DataSource = ds.Tables[0].DefaultView;
Jetzt kann ich neue Daten hineinschreiben und auch speichern, nur passiert das jetzt in einem solchen Format
Code:
<children> <!-- kommt nur, wenn man zwei Zeilen hinzugefügt hat. Wieso? -->
<child>
<name>value</name>
<size>skdak</size>
<foo>shdf</foo>
</child>
<child>
....
</child>
</children> <!-- kommt nur, wenn man zwei Zeilen hinzugefügt hat. Wieso? -->
Wie kann ich es so speichern lassen, wie ich es will? Muss ich dafür selber eine Funktion schreiben? Wenn ihr einen anderen Vorschlag habt, wie ich die Daten anordnen soll (evtl. so wie GetXml(); das will?), dann auch her damit!
Grüße
meilon