历史版本4 :JS实现自定义选项弹窗 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

对于数据量较大的报表,此处提供一种文本框与复选框结合的查询方式。

点击选择按钮,弹出窗口进行数据选择:

222

选择需要查看的数据后,点击【处理已选中记录】,然后点击查询:

222

2. 示例之子模板编辑

2.1 模板样式

新建工作簿,新建数据库查询ds1:SELECT * FROM 客户

模板样式如下,B1单元格插入按钮控件,B4单元格插入复选框控件(此处A列隐藏):

222

C4单元格设置数据字典如下:

222

给第四行设置隔行换色,所以在C4添加条件属性如下:

222

设置第一行为重复冻结行:

222

2.2 控件设置

1)按钮控件

给B1单元格的按钮命名为【处理已选中记录】,并添加初始化后事件和点击事件(根据参数查询出不同报表):

222

window.ceshi=[];

222

window.parent.form.getWidgetByName("p1").setValue(ceshi);//给参数赋值 window.parent.FR.closeDialog();//确定获取值后,关闭取消父窗口的对话框 window.parent.FR.destroyDialog();

2)复选框控件

设置B4单元格的左父格为C4,并给复选框控件添加状态改变事件,添加参数a=C4:

222

var value = this.getValue();//获取当前参数的值 if (value == true) { ceshi.push(a);//将选中的参数a放入窗口 } else if (value==false){ ceshi.splice($.inArray(a,ceshi),1); }

保存模板,另存为%FR_HOME%\webroot\WEB-INF\reportlets\demo\parameter\批量处理数据.cpt

3. 示例之主模板编辑

3.1 模板样式

新建模板,新建数据库查询ds1:SELECT * FROM S订单

                                      ds2:SELECT * FROM S客户

点击模板>模板参数,添加模板参数p1:

222

模板样式如下,需要注意A3单元格数据取自ds2:

222

3.2 模板数据设置

给A4设置过滤条件:

222

将A4数据字典设置如下:

222

给B4设置过滤条件,关联ds1和ds2:

222

将C4数据字典设置如下,显示值为sql("FRDemo", "select 姓氏||名字 from s雇员 where 雇员ID=" + $$$, 1, 1),显示为表s雇员中的姓名:

222

将G4数据字典设置如下,显示值从表运货商中获取:

222

给第三行设置隔行换色,所以给C3单元格添加条件属性:

222

3.3 参数面板设置

在参数面板上添加文本控件、按钮控件和查询按钮,如下:
222

1)文本控件

文本控件名设为【p1】,控件值为ANATR,ANTON:

222

2)按钮控件

按钮控件名字设为【...】,添加点击事件和初始化后事件:

222

window.form = this.options.form;
var $iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='no' frameborder='0'>");
$iframe.attr("src", "${servletURL}?viewlet=demo%2Fparameter%2F%5B6279%5D%5B91cf%5D%5B5904%5D%5B7406%5D%5B6570%5D%5B636e%5D.cpt&op=write&__showtoolbar__=false");
var o = {
title : "客户信息选择",
width : 800,
height: 300
};
FR.showDialog(o.title, o.width, o.height, $iframe,o);

222

window.form = this.options.form;

3)查询按钮

将【点击查询前不显示报表内容】后面的勾选去除:

222

4. 已完成模板编辑

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

保存模板,另存为%FR_HOME%\webroot\WEB-INF\reportlets\demo\parameter\大数据量查询.cpt