.NET GUI

.NET Community rund um alle Graphical User Interface (GUI) Themen.
Willkommen bei .NET GUI. Anmeldung | Registrieren | Hilfe | Impressum | Forumsregeln
in Suchen

TreeView-DataBinding und Linq2Sql

Letzter Beitrag 10-12-2008 22:08 von FantaMango77. 5 Antworten.
Seite 1 von 1 (6 Treffer)
Beiträge sortieren: Zurück Weiter
  • 10-05-2008 0:30

    • SteveKr
    • Top 75 Mitwirkender
      Männlich
    • Registriert am 10-03-2008
    • Hessen
    • Beiträge 3
    • Punkte 60

    TreeView-DataBinding und Linq2Sql

    Hi,
    Ich besitze einen Treeview, den ich mittels Linq2Sql mit Daten aus einer Datenbank fülle. Soweit, so gut.
    Wenn ich in der Datenbank neue Einträge hinzufüge, wird der Treeview allerdings nicht aktualisiert. Das liegt daran, dass wegen der Nutzung von Linq2Sql keine ObservableCollections, sondern EntitySets vorliegen, die kein INotifyCollectionChanged-Interface implementieren. Sie besitzen zwar stattdessen ein ListChanged-Event, das hat allerdings keine Auswirkungen.

    Wie kann man nun den Treeview bzw. einzelne Knoten desselben manuell aktualisieren?

     

    mfg SteveKr

    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 10-07-2008 10:17 Antwort zu

    • joachimk
    • Top 25 Mitwirkender
      Männlich
    • Registriert am 04-11-2008
    • Salzburg, Austria
    • Beiträge 24
    • Punkte 391

    AW: TreeView-DataBinding und Linq2Sql

    da ich nicht glaube dass änderungen in der db aus einem dritten Prozess bei dir in der applikation ankommen, wird dir so wohl nur polling (immer wieder mal abfragen obs was neues gibt) übrig bleiben. was die observablecollectino angeht kannst du ja eine ObservableCollection mit linq2sql befüllen und mit Hilfe des CollectionChanged events der Observablecollection elemente dann aus der db entfernen oder hinzufügen.
    http://blog.joachim.at
    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 10-12-2008 19:29 Antwort zu

    • SteveKr
    • Top 75 Mitwirkender
      Männlich
    • Registriert am 10-03-2008
    • Hessen
    • Beiträge 3
    • Punkte 60

    AW: TreeView-DataBinding und Linq2Sql

    Es würde schon funktionieren. Änderungen eines Eintrags schlagen sich auch, dank INotifyPropertyChanged, im entsprechenden TreeNode-Header nieder.

    Ich werde nun wohl auf Data Binding verzichten und das Treeview-Element manuell befüllen und ändern.

    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 10-12-2008 21:05 Antwort zu

    • FantaMango77
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05-07-2008
    • Magdeburg, DE
    • Beiträge 82
    • Punkte 1.540
    • Moderator

    AW: TreeView-DataBinding und Linq2Sql

    Nur dass ich das jetzt richtig verstanden habe: Obwohl Data Binding funktionieren würde, wirst du trotzdem darauf verzichten?
    Ich würde jedenfalls vom manuellen Befüllen abraten. Es ist nicht so elegant und auch aufwändiger. :)

    Ciao,
    Jens
    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 10-12-2008 21:16 Antwort zu

    • SteveKr
    • Top 75 Mitwirkender
      Männlich
    • Registriert am 10-03-2008
    • Hessen
    • Beiträge 3
    • Punkte 60

    AW: TreeView-DataBinding und Linq2Sql

    Ich würde es auch nutzen, wenn der Treeview aktualisiert wird, was aus den oben genannten Gründen allerdings nicht der Fall ist.

    • Beitragspunkte: 20
    • IP-Adresse ist Registriert
  • 10-12-2008 22:08 Antwort zu

    • FantaMango77
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05-07-2008
    • Magdeburg, DE
    • Beiträge 82
    • Punkte 1.540
    • Moderator

    AW: TreeView-DataBinding und Linq2Sql

    Hi SteveKr,

    Da habe ich doch glatt das ursprüngliche Problem übersehen.
    Kennst du schon das Projekt "Bindable LINQ"? Kann sein, dass das dein Problem behebt:

    http://www.codeplex.com/bindablelinq

    "Bindable LINQ is a set of extensions to LINQ that add data binding and change propagation capabilities to standard LINQ queries."

    Ciao,
    Jens
    • Beitragspunkte: 5
    • IP-Adresse ist Registriert
Seite 1 von 1 (6 Treffer)
Powered by Community Server (Commercial Edition)    Hosting powered by 69° media solutions