Laden...

WPF MVVM - Anzeige von vielen Datensätzen

Erstellt von jogisarge vor 11 Jahren Letzter Beitrag vor 11 Jahren 530 Views
J
jogisarge Themenstarter:in
154 Beiträge seit 2006
vor 11 Jahren
WPF MVVM - Anzeige von vielen Datensätzen

Hallo zusammen,

Beschreibung ISt-Zustand:
Ich habe eine Anwendung, die ca. 10000 Artikel verwaltet (programmier in ??? - DB SQL-Server - ).
Pro Hersteller sind es zwischen 300 und 3000 Artikel.
Nun kann man sich alle Artikel in einer Art Tabelle (optisch eine Art Datagrid) anzeigen und man kann über den Herstellerfilter die Datenmenge filtern, so dass nur 300 - 3000 Artikel angezeigt werden.
Die Daten können in der Tabelle editiert werden, oder mann kann per Doppelklich eine Art Detailfenster mit allen Artikelfeldern anzeigen lassen.
Änderungen in der Tabelle werden sofort nach verlassen der Zeile an die DB übermittelt.
Änderungen im Detailfenster werden sofort nach dem Speichern-Button an die DB gesendet.

Nun zu meiner Frage:
Da der Quellcode nicht verfügbar ist, und Änderungen notwendig sind, möchte ich die Anwendung gerne in WPF in der MVVM Struktur nachbauen bzw. neu machen.

Die Struktur meiner Anwendung steht soweit.
Die Daten lade ich bereits vom SQL-Server und zeige diese in einer ObservableCollection<T> an.
Nun stehe ich vor einer Grundsatzfrage.
Welche Komponenten sind für meine Anzeige am Besten?
Nehme ich das Datagrid, oder gibt es noch andere (bessere) Möglichkeiten?

Im Falle eines Datagrids:
Wann sende ich die Daten am besten an die DB?
Nach jeder Zeile, oder über einen Button 'speichern'

eventuell wäre dieser Beitrag auch im Bereich 'Rund um die Programmierung' passend, aber ich dachte, da ich speziell WPF und MVVM nutze, wäre ich hier richtig
C
80 Beiträge seit 2010
vor 11 Jahren

Hallo jogisarge,

Im Grunde hast du deine Fragen durch die Beschreibung des Ist-Zustands bereits beantwortet:

Änderungen in der **Tabelle **werden sofort nach verlassen der Zeile an die DB übermittelt.
Änderungen im Detailfenster werden sofort nach dem Speichern-Button an die DB gesendet.

Je nach Anzeigeart also einen Button bzw. Direktes Speichern über das Ereignis "Zeile verlassen". Bedenke aber, dass du...
a)...nur die geänderten Daten speicherst (Dabei hilft dir die ObservableCollection)
b)...Das Speichern asynchron erfolgen sollte, damit die GUI nicht blockiert.

Für die tabellarische Darstellung empfiehlt sich das Datagrid.