KokaLola - Mi 03.11.10 22:19
Titel: DataGidView im xml Format speichern/einlesen? (DataSet)
Moin - ich bins wieder ^^
Habe 2 weitere Fragen:
1. Wie kann ich ein DataGrid im xml Format mit DataSet? speichern.
2. Wie kann ich ein DataGrid im xml Format mit DataSet? einlesen.
Speichern:
Quelltext
1: 2: 3: 4:
| DataSet writeXMLSchema = new DataSet(); writeXMLSchema = (DataSet)Accounts.DataSource; writeXMLSchema.WriteXml("AccountDaten.xml"); Accounts.DataSource = writeXMLSchema; |
Einlesen:
Quelltext
1: 2: 3:
| DataSet readXMLSchema = new DataSet(); writeXMLSchema.ReadXml("AccountDaten.xml"); Accounts.DataSource = readXMLSchema; |
So geht es leider irgendwie nicht :(
Mit freundlichen Grüßen
kokalola
Th69 - Do 04.11.10 11:14
Hallo KokaLola,
bist du jetzt von der List<> (bzw. Array) auf DataSet als DataSource umgestiegen? Wenn nicht, dann funktioniert selbstverständlich der Cast auf (DataSet) nicht und wird eine Exception werfen...
Ich wollte schon im anderen Post erst schreiben, daß du auch alternativ DataSet (bzw. besser DataTable) als DataSource verwenden kannst, wusste aber nicht, inwiefern du schon damit gearbeitet hast.
Richtig wäre also folgendes:
du erzeugst ein DataSet mit einer DataTable und bindest diese dann an das DGV:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| DataSet dataset = new DataSet(); DataTable table = new DataTable("Accounts");
datatable.ReadXml("AccountDaten.xml");
dataset.Tables.Add(table); datagridview.DataSource = table; |
Das DataSet brauchst du auch nur, wenn du mehrere Tabellen zusammenfassen willst, ansonsten reicht einfach mit DataTable zu arbeiten.
Und das Speichern ist dann ganz einfach:
C#-Quelltext
1: 2: 3:
| table.WriteXml("AccountDaten.xml"); dataset["Accounts"].WriteXml("AccountDaten.xml"); |
Um Daten von Hand der DataTable hinzuzufügen, mußt du einzelne Zeilen (Rows) hinzufügen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| DataRow row = table.NewRow();
row["EMail"] = "info@test.de"; row["Password"] = "MyPassword";
table.Rows.Add(row); |
Viel Erfolg noch -)