通过条件属性实现自定义单元格的对齐方式

编辑
  • 文档创建者:yiyemeiying
  • 浏览次数:2579次
  • 编辑次数:11次
  • 最近更新:jiangsr 于 2018-08-14
  • 1. 描述

    在制作报表的过程中,我们通常只能对整行(列)单元格对齐方式进行统一设置。方法:单元格属性 -> 样式 -> 自定义样式 -> 对齐 -> 水平(垂直)对齐

    但有时候,用户需求:对某行(列)满足一定条件的单元格单独设置,那我们该如何实现这一功能呢?

    实现效果如图:


    注:(次数)列,单元格内容默认:居中对齐,小于100000的水平靠左对齐,大于150000的水平靠右对齐。

    2. 思路

    通过设置单元格条件属性(新值)后,用HTML显示内容来实现。

    水平靠左 :

    CONCATENATE("<div align='left'>"+$$$+"</div>")
    水平居中 :
    CONCATENATE("<div align='middle'>"+$$$+"</div>")  
     水平靠右 :
    CONCATENATE("<div align='right'>"+$$$+"</div>") 
    垂直靠上 :
    CONCATENATE("<div valign='top'>"+$$$+"</div>")  
    垂直居中:
    CONCATENATE("<div valign='middle'>"+$$$+"</div>")   
    垂直靠下 :
    CONCATENATE("<div valign='bottom'>"+$$$+"</div>") 

    注:也可以通过下载单元格对齐条件属性插件来实现,此插件不支持移动端。

    3. 示例

    以纵向扩展单元格C2为例:

    对齐方式:默认水平居中,垂直居中;

    条件属性:当C2的值小于100000时,水平靠左;当C2的值大于150000时,水平靠右。

    3.1 准备数据

    新建数据集ds1,sql语句:SELECT * FROM "TOP10车型"


    3.2 模板设置

    将数据集中的字段拖到单元格中,并设置内容居中,样式如下图:


    3.3 条件设置

    选中C2单元格,右键-条件属性-新增条件属性1。属性公式:$$$>150000,新值公式:CONCATENATE("<div align='right'>"+$$$+"</div>")


    同理:右键-条件属性-新增条件属性2。属性公式:$$$<100000,新值公式:CONCATENATE("<div align='left'>"+$$$+"</div>")

    3.4 属性设置

    选择C2单元格,单元格属性表-其它属性->显示内容,用HTML显示内容。


    4. 保存预览

    点击预览,效果如上图。

    已完成模板请查看%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\自定义单元格对齐方式.cpt




    附件列表


    主题: 专题总结
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]