Viewmodel ctor (fliegt, wenn Filterung funzt natülrich aus ctor wieder raus :-):
var ctx = new EntitiesDataContext(_session.ConnectionStringReporting); IQueryable<Artikel> tbl = ctx.GetTable<Artikel>(); ArtikelRows = new ObservableCollection<Artikel>(tbl);
Das hier geht nicht: Command, das Daten neu filtern soll:
var ctx = new EntitiesDataContext(_session.ConnectionStringReporting); IQueryable<Artikel> tbl; if(artikelNummer=="*") { tbl = ctx.GetTable<Artikel>(); } else { tbl = ctx.GetTable<Artikel>().Where(x => x.Nummer.StartsWith(artikelNummer)); } //Filtering data in mem is not an option //ArtikelRows = new ListCollectionView(new ObservableCollection<Artikel>(tbl)); ArtikelRows = new ObservableCollection<Artikel>(tbl);
Das Command wird korrekt ausgelöst und ich sehe im Unit Test auch nur die gewünschte Anzahl gefilterter Daten, aber das DataGrid wird nicht aktualisiert.
Damit gehts auch. Da die ObservableCollection das INotifyPropertyChanged Interface aber schon implementiert muss man es nicht nochmal explizit aufrufen sondern es würde halt ausreichen das IsSynchronizedWithCurrentItem Attribut auf true zu setzen.
IsSynchronizedWithCurrentItem hat nicht gereicht. Ich musste tatsächlich noch INotifyPropertyChanged auf die Property die schon ObservableCollection typisiert war verwenden ?-(