ADO.NET, DataGridView & Co. (Grundsatzfragen)

16/12/2008 - 16:33 von Thorsten Kleibaum | Report spam
Hallo zusammen,

ich habe mal ein wenig mit dem DataGridView und damit verknüpften
Datenquellen experimentiert und da kamen recht schnell ein paar
Grundsatzfragen auf, zu denen ich bislang noch keine zufriedenstellende
Antwort gefunden habe. Ich hoffe also, Ihr nehmt es mir nicht übel, daß
ich diese hier poste, ohne mich vorher durch einschlàgige
ADO.NET-Lektüre gewühlt zu haben, zumal ich deren Anschaffung nicht
zuletzt vom Ausgang dieser Fragen abhàngig machen würde.

Um ein einfaches Beispiel zu nehmen, nehmen wir einen Artikel, der einem
MwSt.-Satz zugeordnet werden soll. Ich habe also in der DB zwei
Tabellen, bzw. im Modell zwei Klassen, bei denen die eine die andere
referenziert.
Für die Stammdatenverwaltung dachte ich, ich könnte der Einfachheit
halber auf das DataGridView-Steuerelement zurückgreifen und hàtte mir
eigentlich gewünscht, daß ich den MwSt.-Satz eines Artikels über eine
ComboBox im DGV auswàhlen kann. Alles, was ich im Netz zu dem Thema
jedoch finden konnte, war der Hinweis, daß ein DGV immer nur den Inhalt
einee Tabelle anzeigen kann. Daraus habe ich dann mal geschlossen, daß
dies auch für meinen Fall gilt und es schlicht und einfach nicht möglich
ist, Referenzen zwischen zwei Tabellen auf diese Art und Weise über das
DGV zu definieren.
Meine Frage an dieser Stelle also: habe ich richtig geschlossen, oder
gibt es doch einen Weg, der mir bislang verschlossen blieb?

Zweite Frage - vielleicht etwas provokant oder naiv: welche
Daseinsberechtigung hat das DGV, wenn man damit tatsàchlich nur flache
Datenstrukturen bearbeiten kann? Der Nutzen des Steuerelements in der
OOP tràgt seiner Komplexitàt doch wenig Rechnung.

Dritte Frage: wie sollte ich in meinem Fall vorgehen? Das DGV links
liegen lassen, und die Stammdaten über andere Controls verwalten? Oder
eine Kombination aus beidem, in der ich bspw. die Attribute des Artikels
über ein DGV anzeige/ verwalte, die Verknüpfungen jedoch über andere
Controls in einer Detailanzeige?

Vierte Frage: Sollte ich mit meiner Vermutung komplett daneben liegen,
welches Buch empfehlt Ihr mir zu dem Thema, damit ich nicht weiter dumm
frage? Habe bislang mit "Microsoft ADO.NET 2.0 - Das Entwicklerbuch" von
David Sceppa geliebàugelt
(http://www.amazon.de/Microsoft-ADO-...ks&qid29441062&sr=8-1).
Ist das zu empfehlen?

Danke und schönen Gruß
Thorsten
 

Lesen sie die antworten

#1 Matthias Krug
16/12/2008 - 18:17 | Warnen spam
Thorsten Kleibaum schrieb:

Meine Frage an dieser Stelle also: habe ich richtig geschlossen, oder
gibt es doch einen Weg, der mir bislang verschlossen blieb?



Hast du schon probiert, eine DataGridViewComboBox zu benutzen?
Die zeigt dir dann auf Wunsch (DisplayMember) den Klartext zu einem
Schlüssel (ValueMember) an.

Ich habe das zwar selbst vor Urzeiten zuletzt benutzt, und fand die
Bedienung nicht flüssig; es hat aber funktioniert und die nicht-flüssige
Bedienung kann meine Schuld gewesen sein.

Zweite Frage - vielleicht etwas provokant oder naiv: welche
Daseinsberechtigung hat das DGV, wenn man damit tatsàchlich nur flache
Datenstrukturen bearbeiten kann? Der Nutzen des Steuerelements in der
OOP tràgt seiner Komplexitàt doch wenig Rechnung.



So flach ist die Datenstruktur ja gar nicht.
Man darf nicht vergessen, dass du in ADO.net grundsàtzlich an Daten im
RAM bindest, nicht "live" an die Datenbank. Du hast eine grosse Palette
an Möglichkeiten, die Daten in den DataTables zu bearbeiten.

Ähnliche fragen