Crystal Report 分栏功能详解

MultipleColumns

如果有一个报表需求,需要我们做一张类似于下面的报表,我们该怎么在Crystal Reports 里实现呢?首先我们需要分析一下这张报表有什么特别,仔细一看原来是一页上显示多列,通俗的讲应该是我们Word 排版中的分栏。如何去实现呢?

通过在Crystal Report里仔细查找,发现在Section Export  Details中有一个“Formatwith Multiple Columns ”的选项,从表面上看,好像只需要打个勾。有这么简单吗?先打个勾试试:

打上勾后,好像多了一个“Layout”选项卡,看来只打勾是不行的。那我们再看看这个“Layout”长什么样子的:

好像也不复杂啊,可是这些选项都什么意思?我们先在Width 里设个“2.500”看有什么变化:

从上面的变化中可以看到,Detail Section 已经分成了三块。看来已经实现了,那这个Width 起什么作用呢? 我们再改个小一点的“1.5”试试看:

现在我们可以看到它分成了五块,原来它是来控制分多少列的。看来这个“Width”对我们是至关重要的,那我们如何才能准确的指定这个“Width”值,从而得到我们想要的分栏结果?这里我给出一个例子,共大家参考,假设我们在Detail 里添加了三个字段,想让这三个字段能够分成三栏显示。那我们首先要知道这三个字段所占用的宽度是多少,我们所使用的纸张的宽度是多好?如果这三个字段占的总宽度是4 in, 纸张的宽度是12 in 那么我们应该可以分三栏的。反过来,如果我们想在12 in 的纸上显示5栏,那我我们这要保证这三个字段占的宽度小于或等于2.4 in。不过我见意你最好能多分配0.5 in ,这样报表的效果可能会更,当然也要结合用户的需求。

现在“Width” 参数我们会用了,那么Horizontal 和Vertical 怎么用?我们先分别给它们指定个值看看变化:

先不指定值,我们看到下面的结果:

当我们指定值后,得到下面的结果:

从上面的对比结果我们可以看出,垂直方向上的宽度变大了,那“Horizontal”参数大家都明白了,它是用来指定水平方向的宽度,需要注意的是我们在定义水平方面的值时要考虑页面的宽度,如果我们指定的值大于页面能容下的,页面的布局可能就乱掉了。

接下来我们看看“Across Then Down”和“Down Then Across”这两个是干什么的,我们再试试:

当我们选上“Across then Down”时得到下面的结果:

当我们选择“Down the Cross”得到下面的结果:

通过上面Order ID数值的对比,我们可以看到,” Cross Then Down” 是从左到右一行行排列的。“Down Then Cross”是从第一分列开始从上到下,然后是第二列,第三列等。我想在我们实际的应用中,会有这样的需求。

最后一个参数“Format Groups with multiple Column“从字面上理解,应该跟分组有关,那我个先给报表分个组再选上这一项看是什么结果:

上面的结果中,我们按Employee ID 分组,但没有选“Format Groups with multiple Column“。它的结果是我们正常的分组,分组字段值EmployeeID 3 显示在Group Section, 其它的还在Details Section.

当我们选上“Format Groups with multiple Column“, 得到下面的结果:

可能看到Employee ID 3 在分栏里面了。

通过上面的比较,我们发现如果选上这个选项,分组的Section 会加到Column中。如果不选,分组的Section 只能在单独的行里显示。看来这个很有用啊。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值