反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

参数面板一一对应显示

1. 描述

我们的参数联动在报表展示时,联动效果是通过客户自己的选择来实现联动的,但是在当联动内容是一一对应的时候,客户不希望还要再选一次才能实现联动效果,希望在参数面板选择一次参数之后,后面的数据自动展现出来,形如填报界面的 自动匹配,这个该如何实现呢?同时还希望,后面联动的数据前面的标签在第一次打开模板时,并不展现出来,这个又该如何实现呢?

2. 思路

对照填报界面的 自动匹配 章节,在参数界面也用 SQL 语句实现一一对应,当第一次打开模板时,标签不显示可以通过js控制实现。

3. 示例

3.1 描述

实现选择客户名称,客户的相应信息在参数面板上展示,查询前,只显示客户名称的下拉框控件,其他的不显示,点击查询后,报表展示该客户的订单信息,如下图:

222

222

222

3.2 新建模板

新建模板数据集即数据库查询并定义查询参数,SQ L语句为SELECT * FROM 订单 where 客户ID='${ID}'

3.3 参数面板设计

1)参数对应的控件设置

添加参数 ID 生成的控件,控件类型为下拉框控件,ID 标签改名为:客户名称。下拉框控件的数据字典设置如下:

222

2)联动控件的设置

此处,将客户详细信息显示在参数面板上,以标签控件来展示。

增加 2 个新的标签,其中一个固定标签的控件名设置name,控件值为联系人姓名,另外一个动态标签的控件值为公式:sql("FRDemo", "select 联系人姓名 from 客户 where 客户ID='" + $id +"'", 1, 1)

上述sql意即在FRDemo连接中执行sql语句,显示第一列第一行的查询结果,根据要求不同,此处亦可去除最后一个一,显示查询到的一列(参数面板中表现为以逗号分隔的行形式)

如下:

222

同理,设置好联系人职务,地址和电话号码等标签的设置,完成之后,参数面板如下:

222

3)标签不可见设置

由于要实现在打开模板时,只显示下拉框,其余的标签不显示,那么就需要将所有固定标签设置为不可见,即属性>基本属性>可见,将勾去掉即可;同时,在编辑下拉框之后,参数面板上的标签又需要显示出来,则可以在下拉框控件处添加一个编辑后事件,代码如下:

var a=this.options.form.getWidgetByName("name"); 
a.setVisible(true);

注:代码中的name是固定标签的控件名,由于要控制多个固定标签,则需要重复写多个这段代码,只是控件名需要一一对应,设置好的参数面板如下:

222

3.4 报表主体设计

如下图:

在 A2 单元格处设置模板参数的过滤。

3.5 保存于预览

将该模板保存之后,点击分页预览就会看到如上的效果。

在线查看模板效果请点击 ParaConnection2.cpt

已完成的模板,可参照:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\参数面板一一对应显示.cpt

4.模板下载

点击下载模板:参数面板一一对应显示.cpt


附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉