历史版本8 :下拉框实现直接联动图表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

通过 报表和图表联动,利用单元格的超链接-图表超链-联动悬浮元素方法可以很容易做到点击报表中的某个数据,实现图表联动,但是有时报表中不需要展示数据,只需要选择不同的项目或类别,就可以实现图表联动,如下图只需要在下拉框中选择不同的销售员,下面对应的图表中自动联动出该销售员的数据折线图。这种效果如何做到的呢?


1.2 实现思路

以超链接中图表联动为依据,通过下拉框编辑后事件控制单元格值,可以通过设置一个单元格的超链接来联动图表,再模拟点击此超链接,即可实现联动,用到contentPane.setValue(),以及 jQuery 中对象点击事件,以及填报中动态设置值与获取值的一个小技巧。


2. 示例编辑

2.1 数据准备

新建普通报表,添加数据集 ds1:select distinct 销售员 from 销量

数据集 ds2:SELECT * FROM 销量 where 销售员='${销售员}'

注:销售员参数要设置一个默认值,否则在填报预览时不会呈现出效果预览的图示

图片.png

2.2 报表设计

1)设置报表样式,C1 为【下拉框控件】,合并一片单元格,插入折线图,模板如下:

222

2)选择模板>模板 Web 属性>填报页面设置,勾选直接显示控件,使填报预览时直接显示控件类型:

222


3)下拉框数据字典设置如下:

图片.png

4)点击事件编辑,添加编辑后事件:

图片.png


//将当前选择的销售员设置进D1单元格
contentPane.setCellValue('D1',null,this.getValue());
//点击D1单元格中的超链接
$('td[id^=D1] .linkspan').click();

5)选中图表,在右上角图表属性中设置图表数据,如下图:

222  

并将图表标题设为【销量情况统计表】:

222

6)D1 单元格为准备存放销售员的单元格,以此单元格来联动 B3 单元格中存放的图表。

右击 D1 单元格,选择超级链接,设置如下:

图片.png

注:此处联动的销售员必须是单元格号,不能用公式=$$$,否则取不到用 JS 动态设置到此单元格的值

7)为了不让 D1 显示出我们设置出的值,选中 D1,在右侧单元格属性表中选择形态>公式形态='',如下图:

图片.png

222

2.3 效果预览

保存模板,点击填报预览,效果如下:

222

3.模板下载编辑

已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\下拉框和图表联动.cpt

点击下载模板:

下拉框和图表联动.cpt