实现思路:可以定义另外一个有固定格式的模板,此模板的数据是根据填报网格式报表中选中的值进行过滤,而在填报网格式报表中则需要在按钮的点击事件中定义js,js首先要获取选中行的数据,然后调用FineReport内置的打印方法,将选中的值以参数的方式加入到打印方法的URL中传到被打印的模板中。
脚本之家友情提醒大家:
需要的原料:1.BI报表FineReport7.1.1 2.大小:148.2M 适用平台:windows/linux
具体方法步骤请看下面:
第一步:新建需要打印格式模板
定义数据集
由于此模板要根据选中的值进行打印,因此要在此模板中定义参数,在此我们将参数定义成数据集参数。
新建工作簿,增加数据集ds1,SQL语句为:SELECT * FROM 订单 where 订单ID in (${ID})。
第二步:表样设计
将表样设计成要打印的效果,在此我们将模板设置成如下样式:
将B2单元格的左父格设置成无,并将其余单元格的左父格设置为B2。
将B3和D3设置形态。
同样也可以对模板进行分栏。
Office密码破解工具AOPR强悍出击 Office密码破解工具下载
Advanced Office Password Recovery简称AOPR,是一款针对MicroSoft Office系列的密码破解工具,可对过去的2.0版本到最新2013版本保护下建立的任何Office文档进行撤销、移动或者恢复
第三步:保存模板
第四步:修改预览模板
打开模板
第五步:修改模板
此模板,我们只要修改按钮的名称和按钮的js即可,因此我们将按钮名称修改成“打印”,并将js修改成如下代码:
var $span = $('.fr-checkbox-checkon'); //获取选中的复选框
var darray = [];
var $tds = $("td").has($span); //获得选中复选框的单元格
for (var i = 0, len = $tds.length; i < len; i ) { //遍历选中的单元格
var id = $($tds[i]).attr("id"); //给选中的单元格增加id属性
var idn = id.replace("A","B"); //将复选框所在的A列换成客户编号所在的B列
var vv=document.getElementById(idn).innerHTML; //获取选中单元格所在B列的数据
darray.push(vv);
}
FR.doURLPDFPrint("${sevletURL}ReportServer?reportlet=/doc/Form/FormFAQ/PrintCol.cpt&ID=" darray); //调用打印方法,URL为之前做好的模板路径
注:若获取的vv值为字符串,要将其放入数组中则需要修改成darray.push("'" vv "'")。
第六步:保存模板
第七步:效果查看
填报预览PrintOtherStyle.cpt,选中几行数据后,点击打印按钮,就会按照下图的效果进行打印。
BI报表中如何将网格式报表打印成其它样式
第八步:选中一些数据让其按照以如下图所示的样式进行打印
Office 2016正式版发布日期泄露!9月22日正式发布
Office 2016正式版发布日期泄露!微软将于9月22日正式推出Office 2016,在此之前公司将对员工进行相关的销售知识、技巧培训。目前,微软尚未公布Office 2016的售价信息,但预计家庭和学生基础版的价格约为130欧元左右,约合970元人民币