FastReport.Net 无限页高/自动页高(连续纸小票) 图文 实用版 |
您所在的位置:网站首页 › 页面高度怎么搞出来 › FastReport.Net 无限页高/自动页高(连续纸小票) 图文 实用版 |
前一阵,笔者一直使用FastReport.Net开发报表,遇到一个连续纸的问题,没想到FastReport.Net竟然没有默认设置的无限页高,或者自动页高的功能。网上搜了一些,找出了类似于 FastReport.Net 无限页高(连续纸小票) - 青侠oO - 博客园 这样的技术博客。百度搜了一下也基本都是同样的内容。 但是内容都是全代码,没有什么鸟用啊,好多内容都需要自己配置研究。后来经过笔者的一番研究,终于找到了解决方案,大概也是跟上述文档的一致,只是一些细节没有贴出来。现在我结合我的创作历程,将上述代码进行改造后以图文的形式展示给大家,在这里感谢之前整理的前辈,我也是在前辈的基础上实现的功能。 好了正文开始: 需求:就是要实现连续纸的效果。 先看最后效果: 说明:上面图片中的(S)RK214100001 是绑定的数据行自动变化的,右下角的Q1 以及4LCN 和最下方的条码是固定的内容。 设计界面如下: 由于数据内容是动态的,因此需要绑定数据区。 点击左下方的代码按钮,切换到代码页签。 代码如下 using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Drawing; using System.Data; using FastReport; using FastReport.Data; using FastReport.Dialog; using FastReport.Barcode; using FastReport.Table; using FastReport.Utils; namespace FastReport { public class ReportScript { //定义数据区高度变量 private float data1Height; //定义栏尾高度变量 private float ColumnFooter1Height; Page1的StartPage事件 private void Page1_StartPage(object sender, EventArgs e) { if(Engine.FinalPass) { //页面高度的计算 Page1.PaperHeight = (data1Height+ColumnFooter1Height)/Units.Millimeters+ Page1.TopMargin +Page1.BottomMargin; } } //数据区Data1的高度 private void Data1_AfterLayout(object sender, EventArgs e) { data1Height+=Data1.Height; } //栏尾ColumnFooter1的高度 private void ColumnFooter1_AfterLayout(object sender, EventArgs e) { ColumnFooter1Height+=ColumnFooter1.Height; } } }
在上方代码中,有三个事件。 设置方式是: 1、点击数据区 2、点击属性页中的事件按钮 3、选择事件AfterLayout 对应的代码:Data1_AfterLayout 4、其他的两个事件也是如此,可以在属性页中选择对象 添加三个对象的事件: 1、Page1_StartPage 2、Data1_AfterLayout 3、ColumnFooter1_AfterLayout 有的小白可能会问,这个Data1是怎么来的呢?如果你增加了其他对象,可以从属性页中找到 最后就是页面的计算 Page1.PaperHeight = (data1Height+ColumnFooter1Height)/Units.Millimeters+ Page1.TopMargin +Page1.BottomMargin; 为啥加 /Units.Millimeters 我也不知道。。。。反正我是从其他地方复制粘贴过来的。 这个时候打印预览总是达不到效果,查了其他资料原来缺少了一箱配置 非常重要 非常重要 非常重要 报表必须开启“双通道” 开启方式:报表菜单->选项-> 一般->勾选双通道 至此,就能实现自动页高,连续纸小票功能。 大功告成。 对了附上本次版本
如有问题,欢迎指正,我再完善。 另外,新增加事件的方式,就是在事件上右侧空白那双击即可,如下图红框部分。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |