知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > 自动计算中引用自身单元格的值

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

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

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

在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

我们看一下最后实现的报表展现结果:

本文标签:
发布日期:2012/04/23
本文分类: 设计基础