用 recalc 只能重算敕列,或算当前行,下一行应该怎么写
以下是引用kylin在2008-9-7 11:37:00的发言:
e.datatables("入库数量").datacols("结余数量").recalc(e.Position+1)
当然不行了 呵呵
e参数没有Position 属性
就是Table的Position属性 返回值是当前行位置 是一个数字,不可能做recalc的参数的.
Recalc的参数必须是DataRow类型
[此贴子已经被作者于2008-9-7 11:56:00编辑过]
数据库各条记录之间是平等的关系,一般不会因为上条的变动影响下一条记录的值
易表中的流水帐公式都是对于数据库来说都是不规范的.
你说的重算下一条记录 不知道是什么情况下使用.
对于易表的流水帐公式在数据库中往往是通过查询来统计实现的.
当然,代码的灵活性很强,你说的也能通过
[_Identify]列来实现,不过这是不规范的.
比如DataColChanged 事件中:
e.DataRow 表示当前列,那么可以得到e.DataRow("
_Identify") 的值
然后用Filter方法找到
[_Identify] 的值 等于e.DataRow("_Identify") + 1的列进行重算