优化报表的几个小技巧——基础篇_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 优化报表的几个小技巧——基础篇

优化报表的几个小技巧——基础篇

 2013/8/2 11:09:01  清风堂堂  博客园  我要评论(0)
  • 摘要:报表优化作为报表开发进程中,开发者与最终用户最具争议的部分,一直都饱让报表开发者所头痛。如何最有效地设计,渲染,处理报表?这里就通过备受好评的报表控件StimulsoftReports为例,为广大开发者提供一些有关优化报表的新灵感。有兴趣可以去下载StimulsoftReports,对照着看本文。使用报表开发工具,不仅能在开发过程中提高系统及工作的效率,节省报表开发的时间,更重要的是能够最优化的实现最终用户所需的报表效果,从而开发出更符合需求甚至先进于用户需求的报表产品。一般而言
  • 标签:技巧 几个小技巧 优化

  报表优化作为报表开发进程中,开发者与最终用户最具争议的部分,一直都饱让报表开发者所头痛。如何最有效地设计,渲染,处理报表?这里就通过备受好评的报表控件Stimulsoft Reports为例,为广大开发者提供一些有关优化报表的新灵感。

有兴趣可以去下载Stimulsoft Reports,对照着看本文。

  使用报表开发工具,不仅能在开发过程中提高系统及工作的效率,节省报表开发的时间,更重要的是能够最优化的实现最终用户所需的报表效果,从而开 发出更符合需求甚至先进于用户需求的报表产品。一般而言,优化报表设计主要的方向在于两个方面:提高报表渲染速度和减少内存使用量,通过以下方面的优化内 容,都是为这两个方面服务的。

数据

  要提高报表渲染的数据,必须要做的是肯定是数据处理了,从数据库中只请求报表所必要的数据。例如,如果报表只需要数据库中的少数表和字段,那么 久没有必要将数据库中所有数据都添加到字典中,否则系统将花费大量时间与资源在其上。在SQL中使用WHERE子句会增加SQL的逻辑性。如果不需要表中 的所有字段和记录,可以用于WHERE来指定条件过滤数据。不过WHERE指定的条件是在SQL过滤器中的,而不是在数据带区的过滤器中的。使用过滤器能 实现只显示表中的部分记录,所有过滤器对渲染性能的作用非常积极明显。

  除此之外,还可以通过设置SQL查询值到数据带区的过滤引擎属性中,这样就能自动的添加WHERE条件到SQL查询了。

图像

  在渲染报表过程中的图像优化能够大大减少内存使用量,在大多数情况下,高分辨率的图像在报表中并不是必须的,而查看高分辨率的图像将消耗大量计算机的内存,而不使用Stretch图像属性来降低图像分辨率和缩小图像到适合大小,是个非常不错的解决方案。

富文本

  尽量使用常见的自定义控件,来代替RichText控件能够提高渲染速度。因为使用RichText控件可能在不同环境中出现各种复杂的问题,例如在Web中不存在富文本编辑器,那倒导出Excel时,富文本的部分就会转化成图片,这就会对输出后文档编辑造成困难。


页面

  尽量把所有控件都放置在同一个页面上有助于提高渲染效率,有时开发者会将在一页内放置不下的控件放到下一页去,或者将他们单独分组成一个数据带区放置在单独的一页上,甚至于使用副报表控件,但是这些方法都是非常消耗渲染时间的。

  如果想要提高报表的渲染速度,我们建议将报表的高度属性加大,这样就能将页面调整到能放下所有控件的尺寸。高度属性只会在设计模式中增大页面,不会在报表查看器中将报表放大,这一点开发者可以放心。


分组

  删除不必要的分组也能提高报表渲染的速度。例如,删除多余GroupHeader控件进行的分组。用户组一般分了几个类目:ID、Name、 Description等等,但这些类目明显是不够的,需要自定义复杂条件来完成分组,例如需要以多字段为条件来创建分组。所有的条件可以包含在一个单独 的分组中,在这种情况下,就不必使用多个GroupHeader控件了,只需一个就行了。这样能加快报表开发并简化报表结构。

 

 

上一篇: 家用3D打印机可让年生活成本降低万元以上 下一篇: 没有下一篇了!
发表评论
用户名: 匿名