找回密码
 立即注册

QQ登录

只需一步,快速开始

码出一个新世界

初级会员

54

主题

144

帖子

398

积分

初级会员

积分
398

微信认证勋章

码出一个新世界
初级会员   /  发表于:2016-5-4 15:01  /   查看:3582  /  回复:7
数据绑定之后,我做了个合并行的处理,因为是两个表的数据1对多,有一个表有可能是重复出现,我就把主表的重复数据合并显示,如下:
                //合并行处理
                var j = 1;
                var k = 0;
                for (var i = 0; i < ListSheet.getRowCount() ; i++) {
                    //合并单元格内容居中
                    var style = new GcSpread.Sheets.Style();
                    style.vAlign = GcSpread.Sheets.VerticalAlign.center;
                    ListSheet.setStyle(k, 2, style, GcSpread.Sheets.SheetArea.viewport);
                    ListSheet.setStyle(k, 3, style, GcSpread.Sheets.SheetArea.viewport);
                    ListSheet.setStyle(k, 5, style, GcSpread.Sheets.SheetArea.viewport);
                    if (j == ListSheet.getRowCount()) {
                        ListSheet.addSpan(k, 2, j - k, 1);
                        ListSheet.addSpan(k, 3, j - k, 1);
                        ListSheet.addSpan(k, 5, j - k, 1);
                        return;
                    }
                    if (html.rows[j].TRM_KEY != html.rows.TRM_KEY) {
                        ListSheet.addSpan(k, 2, j - k, 1);
                        ListSheet.addSpan(k, 3, j - k, 1);
                        ListSheet.addSpan(k, 5, j - k, 1);
                        k = j;
                    }
                    j++;
                }
效果如下:
QQ截图20160504145235.png
当我删除行之后会重新绑定数据执行合并行的操作,但是当我从子表第一行开始删除的时候,在合并行的时候就会报错,如下
错误.png
不知道是什么原因?

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-4 16:11:09
沙发
应该是您的算法有问题,造成越界了。您浏览器开发者模式调试下看那一行报错,或者您给我可可以重现问题的demo。您的代码片段不全,没有删除的逻辑所以看不出来问题。
回复 使用道具 举报
码出一个新世界
初级会员   /  发表于:2016-5-4 17:33:07
板凳
删除里面就是与数据库交互把数据删除 然后重新绑定一下Spread  绑定之后 执行到合并行的时候 报错  但是我从下面删就不报错
QQ图片20160504164402.png
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-5 10:13:12
地板
您的html。rows是您的数据源吗?这个您的单步调试,看您的j k 值是您所期望的值吗
回复 使用道具 举报
码出一个新世界
初级会员   /  发表于:2016-5-5 18:02:53
5#
好的 谢谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-6 13:11:20
6#
问题找到了吗,如果还没有解决您可以发个简单demo上来帮您调试下。
回复 使用道具 举报
码出一个新世界
初级会员   /  发表于:2016-5-9 09:48:33
7#
恩  谢谢  我做了个demo好像可以   我再找找问题  不行再请教你
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-9 14:44:05
8#
嗯,有问题您就发帖,直接上传demo也可以。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部