以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何在表达式中得到同列上一行的数据?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100567)

--  作者:铁匠728
--  发布时间:2017/5/13 22:19:00
--  如何在表达式中得到同列上一行的数据?
能否在表达式中得到同列上一行的数据?例如在下面的表中,我想只输入主工程量的数量,附属工程量的数量用表达式计算得到——等于其对应的主工程量,在EXCEL里可以用OFFSET函数找到同列上一行的单元格,但是在FOXtable里该怎么做?

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


--  作者:有点蓝
--  发布时间: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
--  发布时间:2017/5/15 12:41:00
--  
谢谢!虽然和我想要的效果不一样,但能知道这样的思路,感觉可以做出来。
[此贴子已经被作者于2017/5/15 12:50:36编辑过]