Hallöle.
Auf Anraten von "Erfinder des Rades" bin ich mit meinem kleinen Projekt auf die XML-Variante mit typisiertem DataSet umgestiegen.
Am Anfang war darin eine Tabelle "designed", die für den TreeView zuständig ist -> wird in Tree.xml gespeichert. Der Tree gehört "fest" zum Programm
und ich könnte die zugehörige XML bei z.B. einem Programmupdate mit auf das Netzlaufwerk packen, sodass die dort gemachten Änderungen für alle gelten.
Anders sieht das jetzt mit den Benutzerdaten aus - die müssen erhalten bleiben. Also wäre mein Weg der, dass ich die anderen Tabellen des DataSets in eine
andere oder gar mehrere andere XML-Dateien speichere. Technisch sollte das ohne großen Aufwand lösbar sein, allerdings stehe ich vor dem folgenden Problem:
Arbeite ich z.B. mit einer Form, wo die Tabelle des TreeViews an ein DGV gebunden ist, lassen sich die z.B. Speicherungen wie folgt lösen:
etc.
Wie verhält es sich nun wenn ich das Ganze flexibel gestalten will? Ich möchte z.B.
- Die Tabellennamen aus dem vorhandenen DataSet auslesen
Die Variante, die mir dazu eingefallen ist, ist die dass ich das DataSet aus der Toolbox auf die Form ziehe (es wird ein Element mit 1 als Zusatz erstellt /
original DataSet heißt z.B. "dts", erstellt wird das Element im Form-Designer mit "dts1", somit
lässt sich zumindest mit dem DataSet arbeiten. Die Tabellennamen lese ich dann wie folgt in eine Listbox aus:
Ist das eleganter zu lösen?
- Dann möchte ich die Tabellenstruktur (die Tabellen wurden bisher nur im Designer hinzugefügt samt Spalten, es sind noch keine Daten vorhanden) in
eine neue XML-Datei speichern.
Mein Ansatz:
ist das OK so?
- Im Nachgang möchte ich die Daten dann füllen. Dazu wähle ich mir die erzeugte XML-Datei aus, lasse mir die Tabellen daraus auslesen und in eine ListBox
übergeben. Nach Auswahl soll das in der gleichen Form vorhandene DataGridView dann mit den Daten gefüllt werden.
Im TreeView-Beispiel ist die DGV ja an die Tabelle des Trees gebunden, das DGV wird über "dts.Tree.ReadXml(Tree.xml)" gefüllt.
Hier ist die DGV jedoch für mehrere Tabellen (die ich vorher auswähle) gedacht. Gibt es eine Variante das DataSet mit einer Variablen anzusprechen?
(z.B. dts.VARIABLE.ReadXml(xml-datei.xml)) - laut IntelliSense jedenfalls nicht. Muss ich hier den Weg wie oben einschlagen, das "dts1"-Element benutzen und
dann die Tabelle binden?
Würde das so funzen und wäre das auch so vorgesehen?
Ich möchte eben ungern für jede Tabelle im DataSet ein gebundenes DGV erstellen, sondern das nach Möglichkeit über eines Steuern.
Das ganze soll dann die "Verwaltungszentrale der Daten" darstellen, alle weiteren Programmteile (für die anderen User) werden wieder
über gebundene DGV's bedient werden können.
Ich hoffe ich konnte alles verständlich rüberbringen Würde mich über Rückmeldung (wenn auch Kritik) freuen.
Auf Anraten von "Erfinder des Rades" bin ich mit meinem kleinen Projekt auf die XML-Variante mit typisiertem DataSet umgestiegen.
Am Anfang war darin eine Tabelle "designed", die für den TreeView zuständig ist -> wird in Tree.xml gespeichert. Der Tree gehört "fest" zum Programm
und ich könnte die zugehörige XML bei z.B. einem Programmupdate mit auf das Netzlaufwerk packen, sodass die dort gemachten Änderungen für alle gelten.
Anders sieht das jetzt mit den Benutzerdaten aus - die müssen erhalten bleiben. Also wäre mein Weg der, dass ich die anderen Tabellen des DataSets in eine
andere oder gar mehrere andere XML-Dateien speichere. Technisch sollte das ohne großen Aufwand lösbar sein, allerdings stehe ich vor dem folgenden Problem:
Arbeite ich z.B. mit einer Form, wo die Tabelle des TreeViews an ein DGV gebunden ist, lassen sich die z.B. Speicherungen wie folgt lösen:
etc.
Wie verhält es sich nun wenn ich das Ganze flexibel gestalten will? Ich möchte z.B.
- Die Tabellennamen aus dem vorhandenen DataSet auslesen
Die Variante, die mir dazu eingefallen ist, ist die dass ich das DataSet aus der Toolbox auf die Form ziehe (es wird ein Element mit 1 als Zusatz erstellt /
original DataSet heißt z.B. "dts", erstellt wird das Element im Form-Designer mit "dts1", somit
lässt sich zumindest mit dem DataSet arbeiten. Die Tabellennamen lese ich dann wie folgt in eine Listbox aus:
Ist das eleganter zu lösen?
- Dann möchte ich die Tabellenstruktur (die Tabellen wurden bisher nur im Designer hinzugefügt samt Spalten, es sind noch keine Daten vorhanden) in
eine neue XML-Datei speichern.
Mein Ansatz:
ist das OK so?
- Im Nachgang möchte ich die Daten dann füllen. Dazu wähle ich mir die erzeugte XML-Datei aus, lasse mir die Tabellen daraus auslesen und in eine ListBox
übergeben. Nach Auswahl soll das in der gleichen Form vorhandene DataGridView dann mit den Daten gefüllt werden.
Im TreeView-Beispiel ist die DGV ja an die Tabelle des Trees gebunden, das DGV wird über "dts.Tree.ReadXml(Tree.xml)" gefüllt.
Hier ist die DGV jedoch für mehrere Tabellen (die ich vorher auswähle) gedacht. Gibt es eine Variante das DataSet mit einer Variablen anzusprechen?
(z.B. dts.VARIABLE.ReadXml(xml-datei.xml)) - laut IntelliSense jedenfalls nicht. Muss ich hier den Weg wie oben einschlagen, das "dts1"-Element benutzen und
dann die Tabelle binden?
Würde das so funzen und wäre das auch so vorgesehen?
Ich möchte eben ungern für jede Tabelle im DataSet ein gebundenes DGV erstellen, sondern das nach Möglichkeit über eines Steuern.
Das ganze soll dann die "Verwaltungszentrale der Daten" darstellen, alle weiteren Programmteile (für die anderen User) werden wieder
über gebundene DGV's bedient werden können.
Ich hoffe ich konnte alles verständlich rüberbringen Würde mich über Rückmeldung (wenn auch Kritik) freuen.
"Na, wie ist das Wetter bei dir?"
"Caps Lock."
"Hä?"
"Shift ohne Ende!"
"Caps Lock."
"Hä?"
"Shift ohne Ende!"