历史版本6 :单张报表内中英文切换 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

设计器可以自由实现语言切换,但是报表内容是固定的,其语言并不会根据需求而发生改变.

在有些业务需求中,需要单页报表内容中英文切换,如下图所示:

1578898816118996.gif

1.2 实现思路

  • 通过公式判断改变标签和文本内容中的字符串。

  • 通过条件判断改变下拉框和报表字段内容中的数据源字段。

2. 示例编辑

2.1 数据准备

新建内置数据集ZHEN,如下图所示:

1600775207427553.png

注:本文方法不支持文件数据集,使用文件数据集无法通过公式获取到表中字段内容。

2.2 模板设计

2.2.1 报表主体设计

新建在 B1、B2 单元格插入公式,如下图所示:

1600775971557257.png

单元格具体内容如下表所示:

单元格扩展方向内容解释
B1不扩展
IF($LAN = 'EN', 'SALE_EN', '销售员')

当语言为中文,单元格内容为销售员

当语言为English,单元格内容为SALE_EN

B2向下扩展IF($LAN = 'EN', ZHEN.SELECT(SALE_EN, AREA_CN = $AREA), ZHEN.SELECT(SALE_CN, AREA_CN = $AREA))

报表内容控制通过条件判断改变字段选择的方式来实现中英文切换。

当语言为中文,单元格显示选中的地区的销售员名称

当语言为English,单元格显示选中的AREA的SALE_CN名称

2.2.2 设置语言选择控件

1)选中标签控件,控件值选择公式:IF($LAN == 'EN','LAN:','语言:'),如下图所示:

当用户选择中文时,标签变为语言:;当用户选择English时,标签变为LAN:

1600775585488745.png

2)选中下拉框控件,控件名称改为 LAN ,即参数名为 LAN ;标签名称改为 LAN: ;数据字典类型为自定义。如下图所示:

1600775810648417.png

2.2.3 设置地区选择控件

1)选中标签控件,控件值选择公式:IF($LAN == 'EN','AREA:','地区:'),如下图所示:

当用户选择中文时,标签变为地区:;当用户选择English时,标签变为AREA:

1600776716160455.png

2)选中下拉框控件,设置控件名称、标签名称、控件值、数据字典等属性,如下图所示:

1600776662143296.png

具体设置值如下表所示:

属性备注
控件名称AREA-
标签名称=IF($LAN == 'EN','AREA:','地区:')

当语言为中文,标签变为地区

当语言为English,标签变为AREA

控件值

类型:公式

值:IF($LAN=='EN',ZHEN.FIND(AREA_EN,AREA_CN,$$$),$$$)

当语言为中文,下拉框显示选中的AREA_CN列的值

当语言为English,下拉框显示选中的AREA_EN列的值

数据字典

类型:数据查询

数据集:ZHEN

实际值:AREA_CN

显示值:IF($LAN=='EN',ZHEN.FIND(AREA_EN,AREA_CN,$$$),$$$)

当语言为中文,下拉框显示AREA_CN列的值

当语言为English,下拉框显示AREA_EN列的值


2.3 效果预览

保存模板,点击分页预览,效果如下图所示:

1578898816118996.gif

注:不支持移动端。

3. 模板下载编辑

点击下载模板:单张报表内中英文切换.cpt