找回密码
 立即注册

QQ登录

只需一步,快速开始

Crystal.Li 讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-1-26 08:41  /   查看:3771  /  回复:1
本帖最后由 Bella.Yuan 于 2023-1-5 18:55 编辑

在报表使用过程中,有时我们需要用到多列打印。 那么在Wyn Enterprise中可以采用什么办法实现呢?

多列打印一般有两种类型,一种是“Z字型多列打印”,一种是“N字型多列打印”。“Z字型多列打印”排序序号应该是从左到右再换行,“N字型多列打印”指的是从上到下排序再换列。这篇文章就给大家介绍在报表中实现这两种类型二维码多列打印的一个例子,并在文末附上demo~
image.png537629394.png


一、Z字型多列打印
实现"Z字型多列打印"采用矩表实现,其主要问题在于行分组和列分组的设置。
【1】数据准备
在矩表数值区拖拽一个“条形码”组件(如果不清楚二维码如何设置,可以学习这篇教程:https://gcdn.grapecity.com.cn/showtopic-73779-1-7.html
可以选中行分组在分组内下方插入一行,作为二维码数值的展示:
image.png719598693.png
【2】分组设置规则
在这个例子中,我们可以采用对【订单编号】做处理,设置行分组与列分组的值。
(1)我们对【订单编号】的数值部分取余作为列分组的分组条件,比如【订单编号】的数值部分为122,对122除以10取余数得2。按照这个条件分组,那么所有取余为2的订单编号都在同一列。且这里的被除数“10”指的最终打印时的列数,也就是这里会有10列。(这部分可根据自身需求去设置)

(2)对【订单编号】除以列数取整数部分作为行分组的分组条件。比如【订单编号】的数值部分为122,对122除以10取其整数部分12,那么所有取整为12的订单编号都在同一行。

【3】条件设置
按照下图,选中分组,对其进行分组条件设置:
image.png801897277.png
这里列分组的表达式为:
image.png79005126.png
说明:
(1)这里的被除数为10,代表分为10列打印。
(2)因为【订单编号】这个字段本身类型为字符串,所以需要进行数据截取和数据类型转换。
(关于表达式的用法请参考:https://help.grapecity.com.cn/pages/viewpage.action?pageId=50751183
同样对于行分组:
image.png322970275.png
其表达式为:
image.png683827209.png
说明:以上表达式是对订单编号截取数字数值之后,进行类型转换,之后再除以10取了整数部分。
同时为了保证打印的顺序正确,我们需要设置分组排序规则,与分组规则的表达式相同~
image.png915646972.png
【4】预览
为了方便验证结果,在列分组和行分组的数值区域绑定了刚刚设置的行、列分组的表达式:
image.png600138854.png
如果不想显示可以将这两个单元格背景色设为白色,就不会展示了~

以下是效果图:
image.png903531799.png
二、N字型多列打印

这种打印方式采用分栏报表实现,相对比较简单。
在报表设计器拖拽一个列表组件,在其中放入一个容器,容器内可放置和绑定您想要打印的信息:
image.png867125854.png
选中列表元素,对其进行分组条件的设置:
image.png440738219.png
对报表设置分栏数量:
image.png652255248.png
预览:
image.png568989867.png




最后在这里附上两种实现方式的demo作为参考,在系统后台导入即可使用:
Z字型二维码分行打印.zip (391.74 KB, 下载次数: 366)

1 个回复

倒序浏览
np_kdz
注册会员   /  发表于:2021-1-26 10:53:09
沙发
很详细,感谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部