我是C#,MVVM,WPF和Entity Framework的新手
我的问题是,如果我订购数据库的读取(orderby),如果我添加一个新行,数据网格将不会被更改。如果我不订购它的工作。
所以添加信息:
我的数据库看起来像这样
Table Konto
KontoID
KontoName
Table Buchung
KontoID
BuchungsID
Name
BuchDate
加载Konto后,它将加载所有相关的Buchungen
_entityKontoView = new CollectionViewSource();
_entityBuchungView = new CollectionViewSource();
// Loads the Konto
_entityKontoView.Source = _database.Konto;
_entityKontoView.View.CurrentChanged += (x, y) =>
{
_entityBuchungView.Source = ((Konto)_entityKontoView.View.CurrentItem).Buchung
//.OrderBy(date => date.BuchDate)
//.ThenBy(buchnr => buchnr.BuchungsID)
;
};
_entityKontoView.View.Refresh();
当我现在执行OrderBy
时,数据网格将在新插入的行
我打开数据库实体,如下所示:
public static databaseEntities _database = new databaseEntities();
我在DataGrid上的XAML绑定:
ItemsSource="{Binding EntityBuchungsView.View}"
和我的列绑定;
Binding="{Binding Name}"
到目前为止,我使用_database.Buchung.AddObject(test);
然后使用_database.SaveChanges();
,我的DataGrid已更新。
我该怎么做?
答案 0 :(得分:0)
如果有人遇到像我这样的问题
我确实实现了一种刷新视图的新方法:
public static void RefreshView(CollectionViewSource entity)
{
entity.View.Refresh();
}
然后它起作用了