delphi2007 教程

delphi2007 教程

首页 新随笔 联系 聚合 管理
  1013 Posts :: 0 Stories :: 28 Comments :: 0 Trackbacks
关于ADOTable的onCalcFields事件的执行 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiDB/html/delphi_20061224092425136.html
在Table中有一个计算字段,在oncalcfields事件中计算过程执行的较长,计算的时间也较长,不过整个表只是显示,不需要修改数据,因此,只要第一次显示出来就后面就不需要再重新计算,现在问题是我每次移动记录指针,都要重新执行oncalcfields过程,这样就显得整个过程特别慢,有没有什么办法能够只要oncalcfields事件只在程序刚执行的时候执行,别的时候都不执行?

我建议你在后台表中增加一个字段,把计算好的值放进去。每次增加记录或修改记录的时候更新该字段。  
   
  计算字段是每次redraw列的时候都要重新计算的。

Table1.AutoCalcFields:=False;  
 

我不想改动后台数据库,至于无天说的我试过了,没有用!!

在你的Table所在的模块加一个标记,初始为False,计算一次后,设置为True,计算事件中进行判断。  
 

posted on 2008-10-20 10:32 delphi2007 阅读(554) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。