Extjs4 grid合并行单元格

本文介绍了一个用于ExtJS4 Grid的函数`spanRows`,该函数用于合并行单元格。通过指定grid、起始行和列,可以实现特定列的行合并。在调用时,需在grid的store加载回调中使用,例如:`spanRows(grid, 1, 2);spanRows(grid, 1, 1);`。注意,若需合并多个列,应从后向前调用方法。" 129888494,18033304,爬虫的合法使用与Python爬虫的优势,"['爬虫', 'Python开发', '网络规范', '编程语言', '数据抓取']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 function spanRows(grid, row, col) {
            var id = grid.view.getId();
            var viewDiv = document.getElementById(id);
            var tables = viewDiv.getElementsByTagName("table");
            if (tables.length==0) {
                return;
            }
            var trs = tables[0].getElementsByTagName("tr");
            var firstTd = trs[row].getElementsByTagName("td")[col];
            var num = 1;
            for (var i = row; i < trs.length; i++) {
                var tr = trs[i];
                var td = tr.getElementsByTagName("td")[col];
                if (!td) {
                    continue;
                }
                if (td.innerHTML == firstTd.innerHTML) {
                    if (i > row) {
                        num++;
                        firstTd.rowSpan = num;
                        firstTd.style["vertical-align"] = "middle";
                        tr.removeChild(td);
                    }
                }
                else {
                    firstTd = td;
                    num = 1;
                }
            }
        }
上面的代码说明:grid需要合并的grid,row起始行位置(一般从0开始,如果涉及到th,可以直接跳过从1开始),col指定列合并,如果涉及多个列合并,请先从后面一个开始调用方法(比如:我需要合并1和2列,spanRows(grid,1,2);spanRows(grid,1,1);)如果出现差异 可以看下页面html,需要先找到table。调用时,请在grid的store.load({callback:function(){ spanRows(grid,1,2);spanRows(grid,1,1); }})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MrCoffee2019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值