Forum: ADO.NET |
Thema:
Ein DataSet in mehreren Fenstern (Forms) verwenden |
Von:
Frank Massel (
10.08.2006 17:29) |
Ein freundliches Hallo an die Spezialisten des Forums !
Bei meinen ersten Schritten zur Verwaltung von Daten einer
SQL-2000-Datenbank mit .NET 2005 C#-"Fenster"-Programmen nutze ich (wie wohl viele Anfänger) die diversen Assistenten, wie z.B. den grafischen Dataset-Designer, das "Ziehen" von Table-Adapterkomponenten auf eine Form etc. Funktioniert auch prima.
Nun besteht das Programm nicht nur aus einem, sondern aus mehreren Fenstern, die sich aber alle (wenigstens logisch) auf dieselbe DataSet-Instanz beziehen, mit dem Vorteil, dass dann z.B. jede DataSet-Tabelle auch höchstens einmal geladen werden bräuchte, egal in welchem Fenster sie (z.B. via entsprechender BindingSource-Instanzen) verwendet werden würde.
Wenn man aber die DataSet-Instanz des "Haupt-Fensters" z.B. via Konstruktor an ein weiteres "Unter"-Fenster übergibt, dort eine nur Verweis-Variable damit belegt, auf dem Unterfenster eine neue BindingsSource-Instanz erzeugt (mittels Ziehen aus der Toolbox auf das Fenster im Desiger), kann die "DataSource"-Eigenschaft der BindingSource-Instanz im "Eigenschaftenfenster F4" NICHT mit dem o.a. Verweis auf das DataSet belegt werden. Folglich können damit im Designer auch nicht die Spalten einen DataGridView-Steuerelements, das die BindingSource benutzt, angepasst werden, usw. Dann muss alles per Quellcode erledigt werden :-(
1) Ist meine Feststellung richtig:
Die o.a. komfortable Formatierung von DataGridView-Spalten im
Desigern/Eigenschaftenfenster funktioniert nur, wenn für das zugehörige
Fenster eine eigene DataSet-Instanz (mit "new") existiert.
2)
Falls 1) richtig ist: Ist das denn grundsätzlich vernünftig jedem Fenster eines Programms eine eigene DataSet-Instanz zu verpassen, obwohl alle Fenster wenigstens logisch) nur eine DataSet-Instanz benötigen würden ?
Wie würdet ihr dieses Problem lösen ?
Bin für jeden Ratschlag und Hinweis dankbar.
Vielen Dank im voraus !
Viele Grüße
Frank Massel
Betreff |
Von |
Datum |
|
|
Armin
Stockner
|
11.08.2006 11:15 |
|
|
AW: AW: Ein DataSet in mehreren Fenstern (Forms)...
Hallo Armin, danke für Deine Antwort und sorry, dass ich mich erst jetzt melde!<br>Natürlich kann mann z.B. im Mutterfenster (z.B. MDI-Form) genau eine Instanz des gewünschten Datasets erzeugen (sogar... |
|
|
|
|
|
Frank
Massel
|
15.08.2006 13:22 |
|
|
AW: AW: Ein DataSet in mehreren Fenstern (Forms)...
Hallo Armin, danke für Deine Antwort und sorry, dass ich mich erst jetzt melde!<br>Natürlich kann mann z.B. im Mutterfenster (z.B. MDI-Form) genau eine Instanz des gewünschten Datasets erzeugen (sogar... |
|
|
|
|
|
Frank
Massel
|
15.08.2006 13:22 |
|
|
AW: AW: Ein DataSet in mehreren Fenstern (Forms)...
Hallo Armin, danke für Deine Antwort und sorry, dass ich mich erst jetzt melde!<br>Natürlich kann mann z.B. im Mutterfenster (z.B. MDI-Form) genau eine Instanz des gewünschten Datasets erzeugen (sogar... |
|
|
|
|
|
Frank
Massel
|
15.08.2006 13:23 |
|
|
Horst
Bauer
|
15.08.2006 15:49 |
|
|
AW: AW: Ein DataSet in mehreren Fenstern (Forms)...
Hallo Horst! Ist der Ausdruck "Main DataSet" (in Verbindung mit Forms) ein "offizieller" Ausdruck? Habe dazu nämlich nix in der MSDN-Hilfe gefunden... Was verstehts Du/man darunter?<br><br>Da wir weder... |
|
|
|
|
|
Frank
Massel
|
16.08.2006 11:56 |
|
|
AW: AW: AW: Ein DataSet in mehreren Fenstern...
Hallo Horst (und hallo an die anderen anonymen Leser) !<br>Ich habe eine Lösung gefunden:<br>Man erstellt ein Komponente, die gleichzeitig noch IListSource implementiert, wobei die üblicherweise erzeugte... |
|
|
|
|
|
Frank
Massel
|
22.08.2006 21:39 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!