在数据库中有 amount, outamount ,bcamount字段
在DBGrid中显示 amount, outamount ,leavamount,bcamount.
其中leavamount=amount-outamount(sql中实现);
outamount=outamount+bcamount(程序中实现);
现在的问题是:由于数据库中没有leavamount字段,当我bcamount发生变化的时候,leavamount显示数据也随之发生了变化。
在bcamount的数据发生变化后,对DBGrid中的数据就需要保存。在保存的时候就会出现“Trying to modify_only field”
leavamount的数据只要在DBGrid上显示,不需要保存我想问的是:怎么解决leavamount对我保存的影响?
在DBGrid中显示 amount, outamount ,leavamount,bcamount.
其中leavamount=amount-outamount(sql中实现);
outamount=outamount+bcamount(程序中实现);
现在的问题是:由于数据库中没有leavamount字段,当我bcamount发生变化的时候,leavamount显示数据也随之发生了变化。
在bcamount的数据发生变化后,对DBGrid中的数据就需要保存。在保存的时候就会出现“Trying to modify_only field”
leavamount的数据只要在DBGrid上显示,不需要保存我想问的是:怎么解决leavamount对我保存的影响?
要设置那里?哪位给了例子啊
2.在OnCalcFields里
ado.fieldbyname('leavamount').asfloat=ado.fieldbyname('amount').asfloat-ado.fieldbyname('outamount').asfloat;
显示时会自动触发该事件
cdssub:1,AutoCalcFields,它要为true
2.双击cdsSub ,增加amount, outamount,bcamount为data ,leavamount为caculatedOnCalcFields事件:
LSDBGridDetail.DataSource.DataSet.FieldValues['leavamount']:=LSDBGridDetail.DataSource.DataSet.FieldValues['amount']- LSDBGridDetail.DataSource.DataSet.FieldValues['outamount'];没有触发OnCalcFields事件