2011-09-30 51 views
1

我有一个WPF datagrid数据绑定到一个collectionviewsource,它本身是基于一个实体查询Entity Datagrid:添加计算值的最佳方法?

在我的网格例如我有3列1号,2号,3号实体的所有属性。如果我想添加一个名为SumNumber的列,它等于Number1 + Number2 + Number3,那么最好的方法是什么,以便当我更改Number1时,SumNumber中的值会更新?

在此先感谢


我几乎没有,但我发现另一个错误。见一个代码片段

public partial class MyEntity 
{ 
    public double MyCustomizedProperty{get;set;} 

    public MyEntity() 
    { 
     this.PropertyChanged += Entity_PropertyChanged; 
    } 

    void Entity_PropertyChanged(object sender, PropertyChangedEventArgs e) 
    { 
     switch (e.PropertyName) 
     { 
      case "Date" : 
       MyCustomizedProperty = DateTime.Now.Second; 
       ReportPropertyChanged("MyCustomizedProperty"); 
       break; 
     } 
    } 
} 

,编译和所有下方,但是当我改变“日期”我得到一个运行时错误:

The property 'SigmaFinal' does not have a valid entity mapping on the entity object. For more information, see the Entity Framework documentation. 

我想这是由于该酒店不在OnStateManager中。你能让我知道如何解决这个问题吗?

感谢

回答

3

我就可以创建一个Converter,将采取所有3个值并返回它们的总和,否则我将扩大实体框架类,包括额外的属性

这里有扩大的例子EF类包括额外的属性:

public partial class MyEntity 
{ 

    public MyEntity() 
    { 
     // Hook up PropertyChanged event to alert the UI 
     // to update the Sum when any of the Values change 
     this.PropertyChanged += MyEntity_PropertyChanged; 
    } 

    void MyEntity_PropertyChanged(object sender, PropertyChangedEventArgs e) 
    { 
     switch e.PropertyName 
     { 
      case "Value1": 
      case "Value2": 
      case "Value3": 
       ReportPropertyChanged("SumValues"); 
       break; 
     } 
    } 


    public int SumValues 
    { 
     get 
     { 
      return Value1 + Value2 + Value3; 
     } 
    } 

} 
+0

完美谢谢! – daW0lverine

相关问题