历史版本12 :新值改变单元格对齐方式 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

在制作报表的过程中,我们可以通过 单元格样式 中的「对齐」对整行或整列单元格的对齐方式进行统一设置。如下图所示:

1617691043570563.png

但如果希望某行(或某列)单元格在不同条件下有不同的对齐方式,该如何实现呢?

例如:「华北」地区水平靠左对齐,「华东」地区水平靠右对齐,如下图所示:

1617691153425549.png

1.2 解决思路

通过给单元格添加「条件属性>新值」,新值使用 HTML 公式表示,再用 HTML 显示单元格内容。

对齐方式新值公式
水平靠左

CONCATENATE("<div align='left'>"+$$$+"</div>")

水平居中CONCATENATE("<div align='center'>"+$$$+"</div>")
水平靠右CONCATENATE("<div align='right'>"+$$$+"</div>")


2. 示例编辑

2.1 准备数据

新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 销量

Snag_253e5156.png

2.2 模板设置

将数据集中的字段拖到单元格中,并设置内容「居中」,将 A2 单元格的「数据设置」修改为「列表」。设计表格样式如下图所示:

2.3 设置条件属性

1)选中 A2 单元格,添加两个条件属性,分别重命名为「华北左对齐」和「华东右对齐」。

Snag_25457e21.png

2)华北左对齐:当单元格值等于「华北」时,新值为公式:CONCATENATE("<div align='left'>"+$$$+"</div>")

其中 CONCATENATE() 的作用是将多个字符串合并成一个字符串。

Snag_2548b763.png

3)华东右对齐同理设置。新值为公式:CONCATENATE("<div align='right'>"+$$$+"</div>")

Snag_254eb727.png

2.4 设置单元格显示内容

设置 A2 单元格的「单元格属性>其它>显示内容」为「用 HTML 显示内容」。如下图所示:

Snag_2553f2b1.png

2.5 效果预览

2.5.1 PC 端

保存报表,点击「分页预览」,效果与 1.1 节中效果图一致。

2.5.2 移动端

App 端和 HTML5 端均支持,效果如下图所示:

Snag_26aa2ec0.png

3. 模板下载编辑

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\条件属性实现单元格对齐.cpt

点击下载模板:条件属性实现单元格对齐.cpt