Das bekannte Programm zur optimalen Vorbereitung auf die theoretische Führerscheinprüfung
VB.Net-Forum - Beitragsübersicht -
ThemaV12: ObservableCollection, nur bedingte Benachrichtigung.
Von Jeiss
Datum 23. Mai 2016 um 22:08:04
Frage Hallo,
meine Frage betrifft das arbeiten mit der ObservableCollection(Of T)-Klasse.
Bei MSDN liest man diesbezüglich so schön: Stellt eine dynamische Datenauflistung dar, die Benachrichtigungen bereitstellt, wenn Elemente hinzugefügt oder entfernt werden oder wenn die gesamte Liste aktualisiert wird.
Das klang so vielversprechend, dass ich mir ein WPF Projekt angelegt habe um zu sehen ob sogar ich mittels dieser Klasse, mit meinen bescheidenen Kenntnissen, ein schönes Projekt erschaffen könnte.
Ich musste aber leider sehr schnell feststellen, dass das doch ein gewisses Mass an Fachkenntnissen verlangt.
Und jetzt bin ich an dem Punkt angelangt wo ich trotz Google, MSDN un co nur noch im Kreis rumdrehe. Und jetzt hoffe ich natürlich, dass jemand so nett und hilfsbereit ist um mir weiter zu helfen.

Ich versuche mal so gut ich kann mein Projekt mit meinen eigenen Worten zu beschreiben.
Es handelt sich um ein WPF Projekt mit Visual Studio 2015. Die Daten welche die Desktopanwendung bearbeiten soll stammen aus einer SQL Datenbank mit gleich 2 Tabellen die in einer "1 to n parent/child" Relation verbunden sind.
Diese Daten werden im Projekt als Entity Model bereitgestellt. Oder müsste ich doch besser sagen, dass das Model aus der .MDF Datei erstellt wurde und zum Projekt gehört.
Die Datensätze sollen dann schlussendlich in einem ListView dargestellt werden. Und der Gedanke war eigentlich der, dass beim löschen oder hinzufügen eines "Datensatzes" das Element im UI das gleich mit bekommen sollte und dann auch gleich anzeigen sollte.
Dank der in der ObservableCollection-Klasse bereitgestellten INotifyCollectionChanged und INotifyPropertyChanged Schnittstellen hatte ich mir viel weniger Schwierigkeiten erwartet.
Und jetzt habe ich natürlich viele Fragen an euch. Erstens, kann mit der oben beschriebenen "Konstellation" in meinem Projekt mittels der ObservableCollection(Of T)-Klasse erreicht werden, dass ohne viel Programmierung-Aufwand, eine funktionierende Anwendung entstehen kann?
Oder gilt das nur unter bestimmten Bedingungen? (vielleicht nicht bei Verwendung eines Entity Models?)
Oder liegt es einfach nur an Fehlern in meinem Projekt, dass das mit der "Benachrichtigung" nicht so gut klappt?
Da ich ja hoffe, dass jemand mir seine Hilfe anbieten wird, übe ich besser gleich mal wie man Code posten kann.
Hier mal zum Test ein (bestimmt für ein besseres Verständnis meines Problems nützlicher) Ausschnitt aus der xaml Datei aus dem "MainWindow".
    <Window.Resources>
<CollectionViewSource x:Key="TodosView"/>
<!--<CollectionViewSource x:Key="StagesView" Source="{Binding Source={StaticResource TodosView}, Path='Stages'}" />-->
<CollectionViewSource x:Key="StagesView" Source="{Binding Stages, Source={StaticResource TodosView}}" />
</Window.Resources>
Besten Dank im Voraus,
Jeiss
Antwort:
Von Nico
E-Mail nico.schertler@studentpartners.de
Datum 26. Mai 2016 um 13:57:03
Antwort Hallo,

wenn du ein ListView an eine ObservableCollection bindest, aktualisiert sich das ListView selbstständig. Soweit richtig. Das scheint aber bei dir nicht der Fall zu sein, da du deine Daten aus einer Datenbank beziehst. Das Problem ist, dass zum Abrufen der Daten jeweils Abfragen an die Datenbank notwendig sind. Einige Datenbankmanagementsysteme bieten auch Trigger an, die ausgelöst werden, sobald sich Daten ändern. Das hängt aber davon ab, was für ein System du verwendest.
Die problematische Stelle ist also nicht die ObservableCollection, sondern die Datenbank.

Nico
[ Antwort schreiben | Zurück zum VB.Net-Forum | Forum-Hilfe ]
Antworten
V12: ObservableCollection, nur bedingte Benachrichtigung. - Jeiss 23. Mai 2016 um 22:08:04
Re: ObservableCollection, nur bedingte Benachrichtigung. - Nico 26. Mai 2016 um 13:57:03
Re: ObservableCollection, nur bedingte Benachrichtigung. - Jeiss 26. Mai 2016 um 23:37:50
Re: ObservableCollection, nur bedingte Benachrichtigung. - Nico 27. Mai 2016 um 08:27:13
Re: ObservableCollection, nur bedingte Benachrichtigung. - Jeiss 28. Mai 2016 um 12:36:55
Re: ObservableCollection, nur bedingte Benachrichtigung. - Nico 29. Mai 2016 um 14:41:52

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  VB 2012
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum VB.Net-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | VB/VBA-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015