需要在数据集中的所有行上触发OnCalcFields不仅仅是在DBGrid delphi中可见的行

时间:2015-04-02 19:07:00

标签: delphi aggregate dbgrid

我正在使用Delphi XE5和FireDAC。

我在数据集中有一个计算字段(Price_Each)和一个聚合字段(Total_Price)。聚合字段汇总了计算字段(Price_Each)的值。

数据集显示在Dbgrid中,由于行数很多,因此数据集的某些行位于网格视图窗口之外,需要滚动到视图中。

我遇到的问题是我得到的Aggregate(sum)仅用于显示在DBgrid中的Rows中显示的Price_Each的值。所以Sum不正确。当我滚动DBGrid以将其他行带入View时,Sum会被更新然后更正。

我希望为数据集中的所有行计算Sum,而不仅仅是在DGrid中可见的那些行?

我使用计算字段的原因是我使用了一些逻辑来计算价格,我无法在提取数据的SQL语句中执行此操作。

我有办法做到这一点吗?

注意:我已经尝试将FetchOptions设置为fmAll,但它不起作用。我还要滚动网格吗?

0 个答案:

没有答案