Foxtable(狐表)用户栏目专家坐堂 → 如何在表达式中得到同列上一行的数据?


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

主题:如何在表达式中得到同列上一行的数据?

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


加好友 发短信
等级:婴狐 帖子:7 积分:139 威望:0 精华:0 注册:2017/5/5 12:45:00
如何在表达式中得到同列上一行的数据?  发帖心情 Post By:2017/5/13 22:19:00 [只看该作者]

能否在表达式中得到同列上一行的数据?例如在下面的表中,我想只输入主工程量的数量,附属工程量的数量用表达式计算得到——等于其对应的主工程量,在EXCEL里可以用OFFSET函数找到同列上一行的单元格,但是在FOXtable里该怎么做?

  序号   主附  工程量名称   数量输入   数量  
   1 主 电缆   20   20
   2 附 保护管       20
   3 主 配电箱   3    3
   4 附 预留洞        3
   5 附 接地        3


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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/15 8:50:00 [只看该作者]

表达式做不了。需要代码实现,参考:

在DataColChanged事件中设置如下代码

Dim idx As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
If idx > 0 Then '如果找到的话
    Dim r As Row = Tables(e.DataTable.Name).Rows(idx-1)
    e.DataRow("数量") = r("数量")
End If

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


加好友 发短信
等级:婴狐 帖子:7 积分:139 威望:0 精华:0 注册:2017/5/5 12:45:00
  发帖心情 Post By:2017/5/15 12:41:00 [只看该作者]

谢谢!虽然和我想要的效果不一样,但能知道这样的思路,感觉可以做出来。
[此贴子已经被作者于2017/5/15 12:50:36编辑过]

 回到顶部