网格式报表自定义打印样式教程

需积分: 9 1 下载量 195 浏览量 更新于2024-09-10 收藏 515KB PDF 举报
在处理网格式报表时,有时需要打破常规的打印样式,例如根据选择的复选框内容实现分栏、设置固定行数展示等。本文将指导如何将这种需求转化为实际操作,主要涉及以下步骤: 1. **问题背景与目标** 当填报网格式报表时,每个记录前有复选框,用户希望通过点击特定的打印按钮,只打印被选中的数据,并按自定义格式展现,比如分栏和控制页面行数。这需要在报表开发工具(如FineReport)中进行设置。 2. **实现方法** - **创建模板**:首先,创建一个具有固定格式的新模板,数据集参数根据填报报表中选中的复选框ID查询数据,如SQL语句`SELECT * FROM 订单 WHERE 订单ID IN (${ID})`。 - **设计表样**:在模板中设计表格结构,如调整单元格的左父格样式,使B2单元格左无边距,B3和D3设置特定形态,还可以实现分栏布局。 - **保存模板**:将模板保存,参考现有模板如`%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\FormFAQ\PrintCol.cpt`,配置具体细节。 3. **修改预览模板** - **加载原模板**:打开预览模板`%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\LineForm7.cpt`。 - **编辑按钮**:重命名打印按钮为“打印”,并编写JavaScript代码。代码中首先获取选中的复选框,存储数据,然后通过FineReport的内置打印方法,将选中的值作为参数传递到要打印的模板URL中。 4. **具体步骤** - 新建数据集参数,关联SQL查询。 - 设计模板样式,包括分栏和特定单元格格式。 - 修改预览模板中的按钮,调用JS函数获取选中数据并调用打印方法。 通过以上步骤,你可以实现网格式报表的个性化打印样式,满足不同场景的需求。需要注意的是,这涉及到前端JavaScript编程和报表开发工具的使用,确保对相关技术有一定了解。