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

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0--

1.2 预期效果

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

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

1.gif


1.3 实现思路

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

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

2. 示例编辑

2.1 数据准备

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


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

2.2 模板设计

2.2.1 报表主体设计

新建普通报表,在 B1、B2 单元格插入公式,单元格具体设置如下表所示:

单元格扩展方向内容解释
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: 。


2)拖入下拉框控件,控件名称改为LAN ,点击数据字典类型设置为自定义,实际值和显示值设置如下图所示:


2.2.3 设置地区选择控件

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


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


属性备注
控件名称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 效果预览

保存模板,点击分页预览,效果如 1.1 节所示。

注:不支持移动端。

3. 模板下载编辑

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