改变显示值-形态

编辑
  • 文档创建者:加菲喵
  • 浏览次数:31471次
  • 编辑次数:18次
  • 最近更新:susie 于 2019-05-31
  • 1. 描述

    在原始数据表中,保存的是编码性质的数据,而在数据呈现时,需要显示的是有意义的实际值,而编码与值往往保存在另外一张表中。

    如内置的 FRDemo 数据库的订单表中只有客户 ID,对应的客户名称在客户表中,希望将订单明细报表中的客户 ID 显示为对应的客户名称:


    2. 方法一

    2.1 打开报表

    打开报表%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\行式报表—数据纵向扩展.cpt

    可以看到报表中只有客户 ID,希望显示为客户表中对应的客户名称。

    2.2 设置形态-数据字典

    选中客户 ID 数据列单元格,右击,选择形态>数据字典或者直接在右侧的单元格属性面板中选择形态,设置该列的实际值为客户表中的客户 ID 列,显示值为客户表中的公司名称列:


    形态的作用:就是在不改变实际单元格值的情况下,让单元格显示为其他值或者其他样式,查看更多 形态

    其中数据字典的作用就是对扩展出来的每一个实际值,显示其对应的显示值。

    2.3 保存并预览

    保存预览效果如上。

    模板效果在线查看请点击 改变显示值.cpt

    已完成的模板,可参见%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\改变显示值.cpt

    3. 方法二

    另一种情况:当客户有多个且在一个单元格以某一符号隔开保存时,上面的方法就无法实现最终的效果了!

    例:订单为 10001 的客户同时为:VINET,TOMSP,HANAR,且保存在同一单元格以“,”隔开。


    方法一实现结果为:


    最终结果要求为:


    利用方法一形态没有完全替换,实际结果与要求不符!遇到这种情况,我们该如何处理呢…?


    3.1 打开报表

    打开报表%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\行式报表—数据纵向扩展.cpt

    修改数据库为上图情况

    1)在 B 列后面插入新列(客户名称),在 C2 单元格设置公式:=split(B2, ","),且添加形态设置,方法参考:方法一


    2)设置 C2 单元格扩展方向:无,父格:默认。


    3)设置 D2 单元格扩展方向:纵向,左父格:B2。


    4)右击 B 列,隐藏。


    3.2 保存并预览

    保存后,点击分页预览,可以看到如上描述的效果。


    附件列表


    主题: 报表设计
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

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

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