6
是否可以在计算字段上添加汇总字段?在TClientDataset中汇总计算字段
假设存在具有以下字段的CDS:
- ID(自动增量)
- 名称(字符串)
- 价格(浮点)
- 数量(整数)
- 合计(整数) - 计算字段 - 价格*数量
我想添加聚合得到Total列的总和。可能吗?
是否可以在计算字段上添加汇总字段?在TClientDataset中汇总计算字段
假设存在具有以下字段的CDS:
我想添加聚合得到Total列的总和。可能吗?
是的,如果您将计算的字段更改为InternalCalc字段,则可以。计算仍然在OnCalcFields事件中完成,但是在对该字段进行计算时必须检查InternalCalc的状态。
['aggregate fields'](http://edn.embarcadero.com/article/29272)?他们似乎更适合这个目的。 – TLama
@TLama,当然你可以用SUM(Price * Quantity)做一个聚合字段,但问题是如何在一个计算字段上进行聚合。这只有在计算字段具有FieldKind = fkInternalCalc时才有效。 –
它主要是评估的顺序:InternalCalc字段在聚合和排序之前进行计算,因此它们可以在聚合中用作索引。计算的字段在此之后进行评估。 InternalCalc字段仅在TClientDataSets中受支持。 –