| |

VB.NET - Ein- und UmsteigerDataGridView <-> XML - best practice? | |  | Autor: Xcabur | Datum: 13.06.10 18:40 |
| Hallo zusammen
Da wir uns in der Schule relativ intensiv mit XML, DTD, XMLSchema usw. befasst haben und ich nun ein kleines Programm schreiben möchte, welches Daten aus einer Tabelle speichern soll, dachte ich: Perfekt, ich schreibe die TabellenDaten einfach in ein XML.
Naja ich musste feststellen, dass es doch ein, zwei Hürden gibt... wahrscheinlich auch weil ich mich mit DataGridView nicht so auskenne, daher wollte ich mal nach dem empfohlenen Weg fragen.
Was soll in meinem Programm geschehen:
1a. Neues Projekt erstellen --> erzeugt leere Tabelle
1b. Bestehendes Projekt öffnen --> DataGridView Tabelle soll aus XML geladen werden
2. Tabelle wird durch User abgefüllt
3. Tabelle in XML speichern.
Ich erstelle die Tabelle wie folgt:
Private Sub cmdNeu_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles cmdNeu.Click
Dim dtTest As New System.Data.DataTable("Daten")
dtTest.Columns.Add("Spalte1")
dtTest.Columns.Add("Spalte2")
dtTest.Columns.Add("Spalte3")
Dim dvTest As New DataView(dtTest)
dgvTest.DataSource = dvTest
End Sub Gespeichert wird sie so:
Private Sub cmdSchreiben_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles cmdSchreiben.Click
Dim dtTest As New System.Data.DataTable("Daten")
Dim dvTest As New DataView
dvTest = dgvTest.DataSource
dtTest = dvTest.Table
dtTest.WriteXml("test.xml", System.Data.XmlWriteMode.WriteSchema)
End Sub Zu erst habe ich das XML File ohne Schema geschrieben, hatte dann das Problem beim lesen, dass nur die Spalten erstellt wurden, welche auch Daten enthielten. Spaalten ohne Daten wurden nicht ins XML geschrieben und somit war die Spalte unbekannt.
Die Tabelle wird wie folgt gelesen:
Private Sub cmdLesen_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles cmdLesen.Click
Dim dtTest As New System.Data.DataTable("Daten")
Dim dvTest As New DataView()
Dim dsTest As New System.Data.DataSet
dsTest.ReadXml("test.xml", XmlReadMode.ReadSchema)
dtTest = dsTest.Tables("Daten")
dvTest.Table = dtTest
dgvTest.DataSource = dvTest
dgvTest.DataSource = dvTest
End Sub Muss ich wirklich den Umweg über das DS machen? Direkt ins DT konnte ich nicht lesen, da sich DT offensichtlich nicht mit der Option ReadSchema verträgt.
Ich hätte nun hauptsächlich gerne gewusst, ob dieser Weg gangbar ist oder ob es eine einfachere/bessere Möglichkeit gibt.
Konkret habe ich auch noch zwei Probleme:
1: Wie krieg ich es hin, dass im XML einem Knotenname z.B. Spalte1 verwendet wird und für den Spalten Header im DGV ein Caption z.B. Spalte 1. Wenn ich im Spaltenname beim Erzeugen einen Blank drinn habe krieg ich im XML so was wie "Spalte_x0002_1" -> Klar Blanks sind als XML-Knoten nicht zulässig, aber kann ich da irgendwie einen HeaderText mit geben, der automatisch gelesen wird?
2. Mein XML Root Element heisst nun immer <NewDataSet> kann ich das ändern?
Danke schon einmal für die Inputs... |  |
 DataGridView <-> XML - best practice? | 1.388 | Xcabur | 13.06.10 18:40 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|