反饋已提交
網絡繁忙
在设计分组报表的时候,希望相同分组内的报表没有边框,不同分组之间有边框,如下图所示(左边是原格式,右边是需求格式):
利用条件属性或者 JS 来控制组内边框显示与否。
1)新建模板,添加数据集 ds1,SQL 语句为 SELECT 地区,销售员,产品||'(销量)'||销量 as 业绩 FROM 销量 where 地区='华东'
2)将数据拖入对应的单元格中,模板设置如下:
3)设置边框。选中 C2 单元格,去掉 C2 单元格的上下边框,保留左右边框。如下图所示:
4)选中 D2 单元格,设置左父格为 B2(销售员),并写上逐层累计公式 COUNT(C2) + D2[B2:-1],累计业绩 (C2) 的条数,然后隐藏 D 列。如下图所示:
COUNT(C2) 计算组内单元格数量,D2[B2:-1] 表示获取上一个 B2 单元格所对应的 D2 的值。公式作用为记录截止到每一组最后一个的单元格数量。
2.1 节中已取消了 C2 单元格的上下边框,并且记录了截止每一组最后一个单元格的单元格数量,接下来就需要通过这个数量,加上对应的组边框。即给每一组的第一个单元格加上边框或给每一组最后一个单元格加下边框。
可通过两种方式实现如上加边框的操作,条件属性或添加 JS 实现。
选择 C2 单元格,点击条件属性>添加条件>属性>边框>编辑,只添加下边框,如下图所示:
若不用条件属性,也可以通过添加 JS 事件实现。
选择模板>模板web属性>分页预览设置,为该模板单独设置,并添加加载结束事件,如下图所示:
JavaScript 代码如下:
注:此方法不支持移动端。
//找到 D2 单元格中值对应行,添加下边框,其中[id^=D] 表示选中 D 列单元格$("[id^=D]").each(function(){ $("#r-"+$(this).text()+"-0").css("border-bottom","1px solid black"); })
保存模板,点击分页预览,效果如下图所示:
App 及HTML5 效果如下图所示:
注:JS 实现方法不支持移动端。
已完成模板,可参见%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\GroupReport\分组内单元格无边框.cpt。
点击下载模板:分组内单元格无边框.cpt
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉