历史版本5 :JS获取分页预览单元格的值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

分页预览报表只能用于展现数据,有时我们也需要获取分页预览的报表中的某些单元格的值进行其他操作,比如在工具栏中显示报表总行数(总行数保存在某固定单元格中)。
下面效果图中,我们获取了某单元格的值,然后对其进行了修改,如下所示:

2. 原理编辑

BS访问某个cpt模板,报表servlet将会将cpt文件解析成对应的html,报表内容最终转换为一个table,位于id=content-container的div中。
由于分页预览只是展现,在这种查看方式下FR没有现成单元格获取方法,可以用jquery语法获取指定单元格,如:
$("tr[tridx=行号]","div.content-container").children().eq(列号)
例如我们要获取某行某列的值,代码是:
$("tr[tridx=行号]","div.content-container").children().eq(列号).html();
如果我们要修改某行某列的值,代码是:
$("tr[tridx=行号]","div.content-container").children().eq(列号).html(新值); 

3. 示例编辑

例如对于以上的分页报表,我们可以设定一个加载后事件。
单击模板>模板web属性,点击分页预览,添加加载结束事件,如下图:
具体js如下:
var a = $("tr[tridx=4]","div.content-container").children().eq(3).html(); alert("第5行第4列值为:"+a); $("tr[tridx=4]","div.content-container").children().eq(3).html(900); alert("第5行第4列值被修改为900");