![]() |
|
首页 | 联系我们 | 网站地图 | English | |||
| 技术支持热线:+86 21 68531770 68531771 | 试用下载 | ||||||||
| 产品中心 | 报表技术漫谈 | OLAP技术漫谈 | 下载与服务 | 市场与合作 | 新闻中心 | 关于我们 |
| 柔性化报表设计-2 | |||
|
3、页内折行 再来分析一下这样一个需求:报表本身具有6列,可是打印纸张宽度限制,每张纸只能有3列摆放。几乎所有报表都会这样处理:分两页进行报表打印,每页3列;打印后将两页纸拼接起来浏览。 可以吗?当然可以,也是一种方法。可是,如果用户这样要求呢:必须在一张纸上打印出6列来,假设每页纸可以打印3列20行,那么用每页前10行显示指定10条记录的前3列,后10行显示同样记录的后3列,按页循环显示。这样的需求如何满足?
![]() 第一页 第二页 如上图所示,这张报表从逻辑上来说相当简单:假定数据源范围记录是一个有6和字段、N条记录的Table,那么在显示中只要先循环前10条记录,逐行显示1-10条记录的前三个字段。每循环完这10个字段,便将当前记录行数跳转到本次循环起始行位置,再次循环并逐行显示后三个字段内容……,如此循环往复,每页一个循环直至数据源数据全部显示完毕。 解决问题的关键在于对数据源当前行的定位,包括逐行位移与快速当前行跳转。在Max@X Analyser中,有一个“数据源指针”的功能,可以对数据源指定记录做特定标记,并根据标记定义进行快速跳转。这样,在Max@X Analyser中,报表数据的展现顺序和当前展现内容上就不再简单地依赖数据源排序,而是可以根据需求任意提取、循环、跳转,实现对数据源的全面控制。 关于数据源指针,在《多数据源集成与控制》一文中有详细的阐述。 4、排名与跨源运算排名 下面这份报表并不复杂,难点在于:第一,如何计算各个地区的销售额排名;第二,如何计算销售额小计结果的排名。 ![]() Max@X Analyser注重报表对数据源的可控性,并提供了多种扩展方法。比如,在这个案例中,针对各个地区的排名,使用了数据源的扩展属性“max_SortIndex”来直接获得排名数据。 需要强调的是,在案例中,为了使报表更为复杂从而更能暴露设计中可能需要面对的复杂问题,我们假设上表中“华东区”、“北方区”、“南方区”三个地区的数据是三个不同的数据源。在这种情况下,设计者可以使利用内置数据微引擎,将小计运算成为第四个数据源,然后与其他三个地区数据源同步循环,并非常方便地使用“max_SortIndex”来获得小计排名数据。 (未完) |
|||||||||||||||||||||||||||||||||||||||
| |
首页 | 联系我们 | 网站地图 | ||