Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 扩展示例 >
流水账

很多时候我们需要像Excel那样引用上一行或者下一行的数据以实现常规的流水账计算。这在常规的数据表格中(非类Excel控件)是不太容易实现的。今天我们就来实现两个简单的、典型的流水账示例。

示例一:计算收入支出的余额。

我们要做成下面的一个表,余额就是我们要计算的流水账数据。余额我们设计为数据表的基础字段,在我们平台我们只需要设置一个表达公式即可。

首先要先对日期列进行排序,然后设置表属性中余额列的表达式。

表达公式设置如下:

IIF(CurrRow.Index=0,[收入]-[支出],CurrRow.PreviousRowData("余额")+[收入]-[支出])

就只需要这一个设置就完成了此需求,跟Excel中的函数公式差不多。因为表达式中用了带“[]”的两个字段“收入”与“支出”,所以当我们去修改“收入”与“支出”两个字段中的值时,右边表达公式也会重新计算。

示例2:计算产品的库存

下面这个示例是比较典型的计算产品的出入库库存流水账的功能。

第一步,先做产品和日期的排序,然后再根据上一个示例的介绍设置一下以下的表达式即可。

IIF(CurrRow.Index=0,[入库数量]-[出库数量],IIF(CurrRow.PreviousRowData("产品")<>CurrRow("产品"),[入库数量]-[出库数量],CurrRow.PreviousRowData("库存数量")+[入库数量]-[出库数量]))

这样一个流水账就又做好了。是不是很简单呀?