Hallo
ich habe ein DataGrid mittels
datagrid.DataContext = entities.Tabelle
gefüllt
ich benutze SqlDependency um änderungen in der Datenbank sofort in der Applikation sichtbar zu machen. Es werden allerdings nur neue Daten übernommen von Datensätzen die schon sichtbar sind!
Also wenn ich bei Eintrag 1 die Spalte xy auf 'abcdef' ändere ist dies sofort sichtbar, wenn ich allerdings eine Zeile in der Datenbank lösche oder Hinzufüge, wird diese Nicht angezeigt!
im eventhandler fürs SqlDependency mache ich
entities.Refresh(System.Data.Objects.RefreshMode.StoreWins, entities.Tabelle);
wenn ich nun die Datensätze durchlaufe
foreach (Tabelle k in entities.Tabelle)
{
s+=k.Nr.ToString() +"\n";
}
sind die korrekten Daten verfügbar, allerdings weis ich einfach nicht wie ich die DataGrid updaten kann.
ich hab schon versucht mit:
datagrid.UpdateLayout();
und auch mit
datagrid.DataContext=null;
datagrid.Datacontext=entities.Tabelle
nichts bringt den gewünschen erfolg!
Flo
in dem ich beim zuweisen der ItemsSource
kontaktKategorienDataGrid.ItemsSource = from x in entities.KontaktKategorien
select x;
anstatt von
kontaktKategorienDataGrid.ItemsSource = entities.KontaktKategorien
mache und im SqlDependency-Eventhandler ersteres nocheinmal ausführe wird die DataGrid richtig dargestellt.
gefällt mir zwar nicht unbedingt, aber es läuft wenigstens mal!
für anregungen bin ich gerne offen 😉