自动计算中引用自身单元格的值

来源:互联网 发布:js设置radio选中的值 编辑:程序博客网 时间:2024/05/08 11:08

自动计算中引用自身单元格的值

描述
报表中某一列的数据首先是取自数据集某个字段的值,但如果数据集中某条记录在该字段没有值时,则需要显示一个自动计算后的值。

初步看来需求似乎并不复杂,无非是使用条件判断,若数据库有值则取该值;否则显示自动计算的值。我来来进一步看一下示例报表:


在C2单元格的自动计算中这样写:${C2}==”?${A2+B2}:${C2}

报表发布后我们发现报脚本错误,原因是自动计算中无法直接引用自身单元格,并且无法使用类似单元格中的value()函数。我们很快会想到复制一个C2到其他单元格,然后在C2中引用那个单元格就可以了,当然这是一种办法,但是对于数据量大的报表来说,增加单元格会影响效率。所以必须想办法在C2的自动计算中引用C2的值。

实现方法
由于自动计算中支持js函数,我们可以想办法得到C2的单元格ID,通过document对象获取其值。报表做一下修改,增加行号:


D2的自动计算表达式:document.getElementById(“report1_D”+${A2}).innerText==”?${B2+C2}:document.getElementById(“report1_D”+${A2}).innerText


原创粉丝点击