读书人

DataGrid有这么3列单价、数量、金额

发布时间: 2012-12-15 15:16:03 作者: rapoo

DataGrid有这样3列单价、数量、金额,输入单价和数量金额自动变化
要实现如题的效果,DataGrid跟一个实体类集合绑定起来,通知的话也只是集合更新的时候才通知页面修改,这效果是集合中的对象的属性修改时要计算总金额,再通知页面更新 ?
[最优解释]
使用PropertyChangedEventArgs
[其他解释]
修改一个 数量就及时更新到服务器?

实体类 实现 IPropertyChanged

是在客户端的操作


[其他解释]
在单价 和 数量 set 的时候 调用 金额
[其他解释]

引用:
在单价 和 数量 set 的时候 调用 金额

这个是内存的修改
UI的修改 需要实体类 实现 IPropertyChanged
[其他解释]
引用:
在单价 和 数量 set 的时候 调用 金额


但这个对象是WCF对象啊,如果那样做还得修改本地代理类或者自己再创建一个?
[其他解释]
引用:
引用:在单价 和 数量 set 的时候 调用 金额

但这个对象是WCF对象啊,如果那样做还得修改本地代理类或者自己再创建一个?


没用过wcf
[其他解释]
引用:
引用:
引用:在单价 和 数量 set 的时候 调用 金额

但这个对象是WCF对象啊,如果那样做还得修改本地代理类或者自己再创建一个?

没用过wcf


就是系统自动自成的类,类似于Linq To Sql
[其他解释]
引用:
引用:在单价 和 数量 set 的时候 调用 金额

但这个对象是WCF对象啊,如果那样做还得修改本地代理类或者自己再创建一个?


已经解决了,大概是用你这种方法。。。自定义了一个类,添加WCF对象的一个属性,然后又定义了3个用于通知的属性。。。
PS:
public class MyItem:ViewModelBase{
public M Model{get;set;} //这个是WCF对象
//以下3个属性为实现单价、数量变化自动更新金额所设定
private float _danJia;

public float DanJia
{
get { return _danJia; }
set
{
if (_danJia != value)
{
_danJia = value;
this.M.DAN_JIA = value;
this.JinE = this.DanJia * this.ShuLiang;
}


}
}

private int _shuLiang;

public int ShuLiang
{
get { return _shuLiang; }
set
{
if (_shuLiang != value)
{
_shuLiang = value;
this.M.SHU_LIANG = value;
this.JinE = this.DanJia * this.ShuLiang;
}
}
}
private float _jinE;

public float JinE
{
get { return _jinE; }
set {
if (this._jinE != value)
{
_jinE = value;
this.M.JIN_E = value;
this.OnPropertyChanged(()=>this.JinE);
}
}
}
}

读书人网 >CAD教程

热点推荐