起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14219|回复: 16

[结贴] grid多列需要进行合并单元格

[复制链接]

29

主题

97

帖子

427

积分

中级会员

Rank: 3Rank: 3

积分
427
QQ
发表于 2019-8-26 09:56:58 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号: 3.8
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 其它 浏览器: Chrome
业务需求,需要一级指标相同的合并,二级指标相同的合并,三级指标相同的合并,指标要求设置也要单元格合并。不是列的合并。用的是案例写的那套JS。但是效果不好,大量JS仅能合并一种字段。并且有时候我还得点一下一级指标那列它才合并。有没有更好的方法?
JS如下:
var taskData = this.comp('treeData');
                var lastName = '';// 记录上一个单元格的值,用于比较
                var delRowArr = [];// 保存被合并的行ID,最后设置隐藏
                var spanRowArr = [];// 保存要设置合并的行ID,最后设置合并
                var spanNum = 0;// 记录需要合并几行
                var firstRowID;// 记录需要合并的行ID
                taskData.each(function(option) {// 在遍历时进行比较,确定合并方式
                        if (lastName == option.row.val('fYJZB')) {
                                delRowArr.push(option.row.getID());
                                spanNum++;
                        } else {
                                if (lastName != '' && spanNum > 1)
                                        spanRowArr.push([ firstRowID, spanNum ]);
                                spanNum = 1;
                                lastName = option.row.val('fYJZB');
                                firstRowID = option.row.getID();
                        }
                });
                if (spanNum > 1) {
                        spanRowArr.push([ firstRowID, spanNum ]);
                }
                if (spanRowArr.length > 0) {// 设置合并
                        $.each(spanRowArr, function(i, rowid) {
                                var cell = event.source.getCell(rowid[0], 'fYJZB');
                                $(cell).attr('rowspan', rowid[1]);
                        });
                }
                if (delRowArr.length > 0) {// 设置隐藏
                        $.each(delRowArr, function(i, rowid) {
                                var cell = event.source.getCell(rowid, 'fYJZB');
                                $(cell).hide();
                        });
                }

grid

grid

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-26 11:46:06 | 显示全部楼层
那可以用分组报表显示,把先合并的放到最前面用group展现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

97

帖子

427

积分

中级会员

Rank: 3Rank: 3

积分
427
QQ
 楼主| 发表于 2019-8-26 11:52:11 | 显示全部楼层
jishuang 发表于 2019-8-26 11:46
那可以用分组报表显示,把先合并的放到最前面用group展现

报表功能另做。这个还是需要的。。因为比报表美观
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-26 13:21:23 | 显示全部楼层
那就需要自己定义多个变量,记录不同关系的的值,自己去判断控制合并啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

97

帖子

427

积分

中级会员

Rank: 3Rank: 3

积分
427
QQ
 楼主| 发表于 2019-8-26 15:03:37 | 显示全部楼层
jishuang 发表于 2019-8-26 13:21
那就需要自己定义多个变量,记录不同关系的的值,自己去判断控制合并啊

好的。那样对多麻烦一点。不过页面进入后必须点一下那个排序才能合并啊。为啥,或者如何调用点击排序那个按钮
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-26 15:29:00 | 显示全部楼层
具体在什么事件中写的代码?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

97

帖子

427

积分

中级会员

Rank: 3Rank: 3

积分
427
QQ
 楼主| 发表于 2019-8-26 15:40:24 | 显示全部楼层
jishuang 发表于 2019-8-26 15:29
具体在什么事件中写的代码?

grid的onReload里写的
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-26 16:27:46 | 显示全部楼层
加debugger调试,看看默认一开始执行了事件了吗
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

97

帖子

427

积分

中级会员

Rank: 3Rank: 3

积分
427
QQ
 楼主| 发表于 2019-8-26 16:47:40 | 显示全部楼层
jishuang 发表于 2019-8-26 16:27
加debugger调试,看看默认一开始执行了事件了吗

页面加载时debugger调试结果显示执行了,而且是两次。但是还是需要点一下排序按钮才合并。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-8-26 17:20:48 | 显示全部楼层
在合并的代码中加调试看执行了吗
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-29 18:35 , Processed in 0.070082 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表