历史版本4 :扩展后排序重新编号 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在对报表进行扩展后排序(按苹果汁销量排序)之后,原本已经编好的序号会被打乱,如何恢复到正常的排序呢?如下图:

222

2. 思路编辑

利用条件属性、形态设置或者js解决。

3. 示例编辑

3.1 模板设置
1)数据集
新建模板,添加数据集ds1:SELECT * FROM 销量
2)模板设置
将字段拖入对应的单元格中,且C1单元格设置为横向扩展,A2设置为公式=seq(),如下图所示:
222
3)扩展后排序
选中B2单元格,添加扩展后排序,公式为:C2{C1 = "苹果汁"},即按照“苹果汁”那一列的销量值进行降序排列,如下图所示:
222
4)保存预览
此时保存模板并预览,会发现序号一列被打乱,如下图所示:
222

4. 解决方案编辑

3.1 方法一(条件属性)

在序号所在的单元格选择条件属性-新值,选择公式形态,新值可以是SEQ(),ROW()-1&cell

新值写seq( )时,如果原本单元格的公式就是seq( ),需要将原来的先删掉。

新值写row( )-1时,1指的(当前行-1),数值根据具体情况而定。

新值写&cell时,cell指的是扩展的单元格,任何一个列表形式的扩展单元格均可。

由于任何情况下都需要生效,条件判定可以不用写。

222

3.2 方法二(形态设置)

选中序号所在的单元格(即A2),选择单元格属性-公式形态,可填写内容与条件属性一样。

222

3.3 方法三(利用js实现)

选择模板>模板web属性,分页预览设置中添加加载结束事件,如下图所示:
222

4. 效果预览编辑

222

5. 已完成模板编辑

模板效果在线查看请点击扩展排序后重新编号.cpt

已完成的模板,可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\扩展排序后重新编号.cpt