帆软报表8.0按不同规则纵向合并两列数据单元格,也就是两列数据分别有一个左父格怎么实现

image.png

FineReport 帆软用户bn87pAsXSu 发布于 2025-5-12 16:10 (编辑于 2025-5-12 16:18)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-5-12 16:12

不支持

最佳回答
0
Z4u3z1Lv6专家互助
发布于2025-5-12 16:13

不支持

最佳回答
0
帆软用户bn87pAsXSuLv0见习互助
发布于2025-5-12 16:13

周一到周四 按照一种规则 合并 周五按照一种规则合并 如果属性type =1 周一到周四列的 数据 上下单元格合并 如果type =2 周五数据上下单元格合并 如图 现在只能做到 周一的上下单元格合并 周五列的数据只能单个展示 想要实现周五的两个班主任01 课 合并 请问怎么实现?

最佳回答
0
iQianLv4初级互助
发布于2025-5-12 16:56(编辑于 2025-5-12 18:37)

到网上,找一下相邻单元格合并的js方法。放在加载结束事件里。

实现了:

js合并单元格.zip

效果图:

image.png

我的帆软是11版的,你的应该打不开,给你贴代码吧:

1、示例模版,写死的。

image.png

2、加载结束事件 js 代码:

//合并表格中指定列col中内容相同的上下相邻单元格

//Merge adjacent table cells with the same content

function MergeCells(col){

    var t = document.getElementsByClassName('x-table')[0];

    if (!t || !t.rows) {//未能访问表格

        return;

    }

 

var cr = t.rows.length;//表格行数少于2,无需合并

    if (cr < 2) {

        return;

    }

 

    var cc = t.rows[0].cells.length;//表格行数为0或指定列数超出范围

    if (cc==0 || col > cc){

        return;

    }

 

    var i, b, c;

     b=0;//begin

     for  (i=1; i < cr; i++){

        c = t.rows[b].cells[col].innerHTML;    //content

         //发现内容相同的相邻单元格

        if (c==t.rows[i].cells[col].innerHTML){

            //删除内容相同的相邻单元格

            t.rows[i].removeChild(t.rows[i].cells[col]);            

            //调整内容相同的首个单元格的rowSpan

            t.rows[b].cells[col].rowSpan++;

        } else {

            //发现内容不相同的相邻单元格,开始新的单元格合并

            b = i;

        }

    }

for  (i=1; i >=0 ; i--){  //这里用 i--,很关键

MergeCells(i)   

}

  • 2关注人数
  • 55浏览人数
  • 最后回答于:2025-5-12 18:37
    请选择关闭问题的原因
    确定 取消
    返回顶部