如何将网格式报表打印成其它样式

我们经常要打印报表,也遇到打印上的麻烦,比如有时候我们不想严格按照报表上面的样式,根据实际应用可能有别的样式更适合,这时候怎么办呢,其实报表软件是可以设置,今天我就带大家来了解一下!

1. 问题描述

对于填报网格式报表,每行前面有个复选框,希望实现点击页面中设置的打印按钮希望将选中的复选框中的值按照一定的样式打印,如分栏、页面固定显示几行等格式。

2. 实现思路

可以定义另外一个有固定格式的模板,此模板的数据是根据填报网格式报表中选中的值进行过滤,而在填报网格式报表中则需要在按钮的点击事件中定义js,js首先要获取选中行的数据,然后调用FineReport(实例中所用报表开发工具为FineReport)内置的打印方法,将选中的值以参数的方式加入到打印方法的URL中传到被打印的模板中。

3. 示例

预览模板效果如下所示

选中一些数据让其按照以如下图所示的样式进行打印,下面我们来看下具体的实现步骤。

3.1 新建需要打印格式模板

·        定义数据集

由于此模板要根据选中的值进行打印,因此要在此模板中定义参数,在此我们将参数定义成数据集参数。

新建工作簿,增加数据集ds1,SQL语句为:SELECT * FROM 订单 where 订单ID in (${ID})。

·        表样设计

将表样设计成要打印的效果,在此我们将模板设置成如下样式:

将B2单元格的左父格设置成无,并将其余单元格的左父格设置为B2。

将B3和D3设置形态。

同样也可以对模板进行分栏。

·        保存模板

保存模板,具体的设置可参考模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FormFAQ\PrintCol.cpt

3.2 修改预览模板

·        打开模板

打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm7.cpt。

·        修改模板

此模板,我们只要修改按钮的名称和按钮的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+"‘")。

·        保存模板

保存模板,具体的设置可参考模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FormFAQ\PrintOtherStyle.cpt。

3.3效果查看

填报预览PrintOtherStyle.cpt,选中几行数据后,点击打印按钮,就会按照上图的效果进行打印。

时间: 2024-10-09 16:28:25

如何将网格式报表打印成其它样式的相关文章

MVC页面打印成pdf插件Rotativa

最近做项目,需要把用户信息页面打印成pdf导出,在github上发现了一个插件,非常好用. Rotativa是一个开源的用户MVC页面生成PDF格式文档的dll封装库,我们可以在管理Nuget包中找到并安装它. 安装好之后就可以直接输入一个视图,并生成pdf返回了,具体上代码: 1 return new Rotativa.ActionAsPdf("UserInfo", new { id = id }) { FileName = "User.pdf" }; Rotat

Web打印的处理 方案之普通报表打印

做过许多 的Web项目,大多数在打印页面内容的时刻 ,采用的都是议决 Javascript调用系统内置的打印要领 执行 打印,也就是调用 PrintControl.ExecWB(?,?)实现直接打印和打印预览功能.打印的成效 及控制性虽然不是很好,但是也可以 勉强运用 ,应付通常 的打印仍旧 能够 的了. 代码如下所示: //调用PrintControl.ExecWB(?,?)实现直接打印和打印预览功能.(直接用系统提供的print()要领 打印不能 潜藏 某些区域) //preview:能不能

VS2013自带报表+打印功能

经过了VB版机房收费系统的学习,相信现在说起报表,我们已经不再觉得陌生.VB打印报表的功能是通过引用第三方控件来实现的,而相对的VS就在VB的基础上完善了这一功能,VS自带报表控件和打印功能,这样就给我们这些编程者带来了很大的方便.下面就将我做程序的一些小经历来跟大家一起分享一下. 1,我们右击U层所在文件夹添加"新建项". 2,在弹出的的添加新建项窗口中找到"reporting",在右面的内容窗口中选中"报表"选项,设置报表的名称. 3,点击确

[转] 将DOS格式文本文件转换成UNIX格式

点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A.而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A.DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,.而Unix格式的文本文

在DevExpress程序中使用条形码二维码控件,以及进行报表打印处理

在很多业务系统里面,越来越多涉及到条形码.二维码的应用了,不管在Web界面还是WInform界面都需要处理很多物料相关的操作,甚至很多企业为了减少录入错误操作,为每个设备进行条形码.二维码的标签,直接在流程中进行扫描处理,仅仅在界面勾选一些处理选项即可,极大提高工作效率,降低出错的几率.本篇随笔介绍如何在基于WInform的DevExpress程序中对条形码.二维码的处理,包括界面展示,报表打印等常规的处理. 1.DevExpress的条形码操作及报表打印 在15.1以上的DevEpxress版

Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式 用途说明

dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A.而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A.DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,.而Unix格式的文本文件在Windows下用Not

如何将CAD格式图纸转换成jpg格式图片?

如何将CAD格式图纸转换成jpg格式图片?在我们使用专门的CAD绘图软件绘制完成一张CAD建筑图纸的时候,将其交给其他人进行查看,但是其他人电脑上面没有一款CAD看图软件的话,就需要将其装换成图片格式,那么应该如何进行操作呢?今天就来教教大家操作解决办法,快来一起学习吧! 第一步:需要进行图纸格式转换的,必须要有一款好用的转换器软件,您首先要打开你们电脑上面的迅捷CAD转换器软件,电脑上面没有这款软件的可以去到软件商店上面进行下载安装!第二步:将其下载之后安装到你们的电脑桌面上,然后就可以准备打

怎么将PDF格式图纸转换成DWG图纸?

怎么将PDF格式图纸转换成DWG图纸?在平常接触到的一些PDF格式的图纸,大部分都是由CAD图纸转换而来,那么我们还想将一些PDF格式的图纸在转换回CAD格式的时候我们应该如何进行操作,今天小编就要来教大家的就是如何将一张PDF格式的图纸转换成DWG格式的全部操作步骤,希望大家能够进行采纳! 第一步:首先需要在电脑上安装一款CAD转换器的软件,小编在这里使用的就是这款"迅捷CAD转换器"的软件,有需要的可以去官网上进行下载!完成软件的安装之后进入首页,之后在软件左边界面中点击"

Excel报表打印(POI)

1.需求说明 在企业级应用开发中,Excel报表是一种最常见的报表需求.Excel报表开发一般分为两种形式:1.为了方便操作,基于Excel的报表批量上传数据2.通过java代码生成Excel报表. 2.Excel报表概述 目前市面上的Excel分为两大版本Excel2003和Excel2007及以上两个版本,它们区别如下: 3.常见的Excel操作工具 Java中常见的用来操作Excl的方式一般有2种:JXL和POI.JXL只能对Excel进行操作,属于比较老的框架,它只支持到Excel 95