FastReport单元格合并

原创 2014年07月14日 15:03:45

    FastReport 自带的单元格合并功能为“抑制重复值”,相信用过的都知道,此功能实在太弱了,还不如不用。网上也出现了一些相关的解决方案,有的是直接在报表中写脚本处理,有的是直接修改源码方式解决,不过只要能解决问题,那就是好方案。

    下面是网上的两个方案:

    1、报表脚本中写代码解决:单元格合并

    2、修改相关源代码解决:单元格合并

    最初我是两种方案结合使用,第1种方案的缺点是很明显的,有时需要写很多的代码,一不小心容易出错;第2种方案也存在问题,似乎只处理第一页的的情况,当有多页时,就乱套了。

    由于本人多个软件都是使用fastreport报表控件,随着时间推移,报表越来越多,设计报表也带来了很大的工作量,代码过多不利于维护,思来想去,研究了下fastreport的相关源码,最终制定了自己的解决方案。本人采用修改源码的方式,并添加了一个自己的单元才最终解决问题。

    解决原理:

    1、建立自己的数据结构,用于保存所有单元格内容、高度、行号、列号;

    2、采用两遍报表方式,第一遍记录各个单元格内容及高度,在第二遍之前在自己的数据结构中计算哪些单元格需要合并及合并后各单元格的高度;

    3、在第二遍过程当中,设置相应的单元格的高度,合并的单元格第一个设置其高度为合并后的高度,被合并的其它单元格设置为不显示;

修改的单元只有 frxClass.pas 与 frxEngine.pas 单元,修改的代码不是很多,主要是要建立自己的数据结构稍微复杂点

本报表单元格合并有两种方案:

第1种:左边的单元格为父单元格,只有父单元格相同时才合并;

第2种:与左边的单元格无关,只要相同就合并。

有偿提供相关源码,如有需要,请联系QQ:258322672,价格不会很高,主要修改这个东西确实花了点时间,若有购买,后期不管是否与本源码相关的技术,只要知道的都会尽力提供。本源码支持fastreport4.*系列,是否支持fastreport3.*系列未测试。

格式1图片:

 格式2图片:

FastReport单元格合并之横向合并

FastReport纵向合并请点击这里
  • lichuxiong
  • lichuxiong
  • 2014年10月24日 19:16
  • 3497

fastreport 向下合并单元格 修改文件

  • 2012年03月23日 16:05
  • 80KB
  • 下载

FastReport向下合并单元格

  • 2014年07月18日 12:04
  • 428KB
  • 下载

FastReport的一些总结

1、问题:中文Memo时常在运行时不能正确显示。但用文件载入后的Memo没有问题。由于FastReport默认把报表文件保存在dfm里面,我看了下dfm,FastReport的Memo编码是以UTF8...
  • johnny_83
  • johnny_83
  • 2007年07月22日 10:11
  • 1915

使用功能强大的插件FastReport.Net打印报表实例

我第一次使用FastReport插件做的功能是打印一个十分复杂的excel表格,有几百个字段都需要绑定数据,至少需要4个数据源,而且用到横向、竖向合并单元格。     我不是直接连接数据库...
  • gold0523
  • gold0523
  • 2015年11月22日 03:15
  • 2947

[.Net码农]FastReport.Net使用

http://jingyan.baidu.com/article/63acb44ae2ae3261fcc17e8f.html http://jingyan.baidu.com/season/42721...
  • CrackLibby
  • CrackLibby
  • 2015年12月18日 17:56
  • 953

FastReport.Net 常用功能总汇

一.常用控件         文本框:输入文字或表达式       表格:设置表格的行列数,输入数字或表达式       子报表:放置子报表后,系统会自动增加一个页面,你可以在...
  • flyingdream123
  • flyingdream123
  • 2016年08月03日 19:37
  • 849

fastreport.net 竖排

几经考虑,终于从诚意比较足的http://www.commuch.com 上购买了FASTREPORT.NET的源码,有了源码,自己想怎么改就怎么改。 FP没有竖排,毕竟是老毛子的东西。实现竖排有两...
  • qoushui
  • qoushui
  • 2011年12月02日 09:41
  • 2200

使用FastReport Studio开发报表(二)

二、在开发环境的代码中使用在C#中新建一个WinForm项目,并在工具栏中引用FastReport Studio的Com库,选择其中的预案控件,并将其拖放到窗口上。在FastReport Studio...
  • crazykiller
  • crazykiller
  • 2008年04月25日 09:38
  • 1245

FastReport合并相应行代码.rar

  • 2010年02月24日 14:57
  • 562KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FastReport单元格合并
举报原因:
原因补充:

(最多只允许输入30个字)