0

我是 C#、MVVM、WPF 和实体框架的新手

我的问题是,如果我订购数据库(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 得到了更新。

我有什么错?

4

1 回答 1

0

如果有人和我有同样的问题

我确实实现了一种刷新视图的新方法:

public static void RefreshView(CollectionViewSource entity)
{
    entity.View.Refresh();
}

然后它起作用了

于 2012-12-20T16:00:36.313 回答