关于DBGrid的OnCalcFields的问题(100分)

  • 主题发起人 主题发起人 xhj12077021
  • 开始时间 开始时间
X

xhj12077021

Unregistered / Unconfirmed
GUEST, unregistred user!
sql: select amount, outamount,bcamount from abc
cdssub:1,AutoCalcFields,为true
2.双击cdsSub ,增加amount, outamount,bcamount类型为data ,leavamount为caculated
OnCalcFields事件:
DBGrid.DataSource.DataSet.FieldValues['leavamount']:=DBGrid.DataSource.DataSet.FieldValues['amount']- DBGrid.DataSource.DataSet.FieldValues['outamount'];

没有触发OnCalcFields事件
这是为什么?
 
是不是表 abc中没数据~~
数据集cdssub打开没~~ 里头有数据没~
 
cdssub有数据的
和dssub 相关连的dbgrid都有数据的
 
那打开数据集cdssub 没~~
貌似 有数据变化才会触发~`
 
打开了
cdssub也是有两条记录,
我在界面在OnCalcFields设好断点
怎么样改变数据都触发不到
 
DBGRID中有数据显示么~~
应该是可以触发的~ 我测试过~
 
可以用数据集(ADOQUERY)的计算字段来做:
1. 双击数据集,在字段列表中右键-->New field-->在field properties中填入相应数据-->在field type中选择Calculated-->ok。
 2.添加数据集的OnCalcFields方法,写相应的字段的操作即可。
 
多谢两位
找到原因了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
759
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部