反馈已提交

网络繁忙

新值改变单元格对齐方式

  • 文档创建者:yiyemeiying
  • 编辑次数:15次
  • 最近更新:小张好像不在线 于 2021-09-13
  • 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 单元格的「数据设置」修改为「列表」。设计表格样式如下图所示:

    Snag_2541fd86.png

    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

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭