1. 概述编辑
对于数据量较大的报表,此处提供一种文本框与复选框结合的查询方式。
点击选择按钮,弹出窗口进行数据选择:
选择需要查看的数据后,点击【处理已选中记录】,然后点击查询:
2. 示例编辑
2.1 示例之子模板
2.1.1 模板样式
新建工作簿,新建数据库查询 ds1:SELECT * FROM 客户
模板样式如下,B1 单元格插入按钮控件,B4 单元格插入复选框控件(此处 A 列隐藏):
C4 单元格设置数据字典如下:
给第四行设置隔行换色,所以在 C4 添加条件属性如下:
设置第一行为重复冻结行:
2.1.2 控件设置
1)按钮控件
给B1单元格的按钮命名为【处理已选中记录】,并添加初始化后事件和点击事件(根据参数查询出不同报表):
window.ceshi=[];
window.parent.form.getWidgetByName("p1").setValue(ceshi);//给参数赋值 window.parent.FR.closeDialog();//确定获取值后,关闭取消父窗口的对话框 window.parent.FR.destroyDialog();
2)复选框控件
设置 B4 单元格的左父格为 C4,并给复选框控件添加状态改变事件,添加参数 a=C4:
var value = this.getValue();//获取当前参数的值 if (value == true) { ceshi.push(a);//将选中的参数a放入窗口 } else if (value==false){ ceshi.splice($.inArray(a,ceshi),1); }
2.2 示例之主模板
2.2.1 模板样式
新建模板,新建数据库查询 ds1:SELECT * FROM S订单
ds2:SELECT * FROM S客户
点击模板>模板参数,添加模板参数p1:
模板样式如下,需要注意A3单元格数据取自ds2:
2.2.2 模板数据设置
给 A4 设置过滤条件:
将A4数据字典设置如下:
给 B4 设置过滤条件,关联 ds1 和 ds2:
将 C4 数据字典设置如下,显示值为 sql("FRDemo", "select 姓氏||名字 from s雇员 where 雇员ID=" + $$$, 1, 1),显示为表 s 雇员中的姓名:
将 G4 数据字典设置如下,显示值从表运货商中获取:
给第三行设置隔行换色,所以给 C3 单元格添加条件属性:
2.2.3 参数面板设置
在参数面板上添加文本控件、按钮控件和查询按钮,如下:
1)文本控件
文本控件名设为【p1】,控件值为 ANATR,ANTON:
2)按钮控件
按钮控件名字设为【...】,添加点击事件和初始化后事件:
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);
window.form = this.options.form;
3)查询按钮
将【点击查询前不显示报表内容】后面的勾选去除:
2.3 效果预览
保存模板,点击分页预览,PC 端效果如下所示:
3. 模板下载编辑
模板效果在线查看请点击:Father.cpt
已完成的模板,主报表可参见:%FR_HOME%\webroot\WEB-INF\reportlets\demo\parameter\大数据量查询.cpt
点击下载模板:大数据量查询.cpt
已完成的模板,子报表可参见:%FR_HOME%\webroot\WEB-INF\reportlets\demo\parameter\批量处理数据.cpt
点击下载模板:批量处理数据.cpt