1. 描述编辑
2. 实现思路编辑
3. 详细说明编辑
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\demo\basic\Freeze.cpt
新建表单,拖入一个报表块,将Freeze.cpt中的内容复制到该报表块中,设置重复标题行和冻结属性,再拖入一个报表块,用于参数的控制,具体模板设计样式如下:
上面的报表块用于参数的控制,下面的报表块用于数据的呈现;报表块之间的参数联动,控制主报表列的隐藏。从而达成:点击维度名称,切换查看内容的效果。
给上面报表块的单元格设置条件属性,A1单元格"地区"设置公式$type=1,当类型=1的时候,背景和字体改变,B1~D1单元格也分别设置条件属性,分别设置为$type=2,$type=3,$type=4。
下面的报表块给3-4行设置重复标题行,并设置冻结属性,点击工具栏上的冻结按钮,弹出重复与冻结设置,选择重复标题列从第A列至第B列,如下图所示:
分别给C3,E3,G3设置条件属性,即当类型不为1时,将隐藏地区所在的列,如下图所示:
这样在表单报表块中,单一维度的数据就可以只通过上下滑动来显示,展现效果大大提升,示例中除了不同维度的数据,还提供了全部显示的方式,全量的数据可以通过上下左右滑动来显示。实际效果如下:
针对数据维度创建tab组件,在tab块内创建报表块,将原先的报表内容直接复制到新建的报表块内,删除掉非当前维度的数据列。报表样式设计如下图所示:
给报表块设置冻结属性,可参考方法一中的方式进行设置。
实际展示效果如下:
注:tab组件需要使用H5解析,相关版本支持请参考帮助文档:表单支持html5方式解析。
同样,在表单报表块中,单一维度的数据就可以只通过上下滑动来显示,全量的数据可以通过上下左右滑动来显示。
模板可下载参考两种方案祝你解救移动端复杂报表
4. 两种效果优势对比编辑
从工作量上来说,两种方式差别不大,表单联动方式中使用了参数联动和报表隐藏,tab组件方式增加了多个新建报表块的工作,由于我们支持表单组件和报表块内容的复用,因此操作比较简单。
方法一:表单联动
优势:可以按照自己的喜好设置维度切换的效果,并且采用原生解析,不会损失APP自带功能。
缺陷:只有一个展示框,不同宽度的展示内容不能采用单一的竖屏横向自适应来解决,需要略微调整报表宽度,维度比较多的时候切换的效果有缺陷,刷新上面的报表块会直接从最左边显示,切换的效果就显示不出来了。
方法二:tab组件
优势:不同维度有不同的报表块,可以针对列数多少分别设置竖屏的自适应方式,更加合理。
缺陷:tab组件需要H5解析,暂时不支持收藏、批注分享等功能。