Foxtable(狐表)用户栏目专家坐堂 → [求助]重算下一行怎么写


  共有25185人关注过本帖树形打印复制链接

主题:[求助]重算下一行怎么写

帅哥哟,离线,有人找我吗?
lxl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/7 11:56:00 [显示全部帖子]

以下是引用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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lxl
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/7 12:01:00 [显示全部帖子]

数据库各条记录之间是平等的关系,一般不会因为上条的变动影响下一条记录的值
易表中的流水帐公式都是对于数据库来说都是不规范的.
你说的重算下一条记录 不知道是什么情况下使用.
对于易表的流水帐公式在数据库中往往是通过查询来统计实现的.

当然,代码的灵活性很强,你说的也能通过[_Identify]列来实现,不过这是不规范的.
比如DataColChanged 事件中:
e.DataRow 表示当前列,那么可以得到e.DataRow("_Identify") 的值
然后用Filter方法找到[_Identify] 的值 等于e.DataRow("_Identify") + 1的列进行重算


 回到顶部