找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 多个子表无线行

IwantU
金牌服务用户   /  发表于:2016-12-7 09:36  /   查看:2939  /  回复:3

    spread.scrollbarMaxAlign(true);
    spread.scrollbarShowMax(true);
                    var sheet1= spread.getActiveSheet();
                    sheet1.bind(GcSpread.Sheets.Events.TopRowChanged, function (sender, args) {
                   
                              var rowCount = sheet1.getRowCount();  
                            var bottomRow = sheet1.getViewportBottomRow(1);
                            if(bottomRow == rowCount-1){
                                    if(rowCount<10000){
                                        sheet1.setRowCount(rowCount+2);
                                    }
                                   
                            }
                    });

这个是一个sheet 可以无限行 ,我多个时用 for  spread.getSheet() 然后bind 还是不行

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-12-7 10:53:12
沙发
发送一个你的代码过来
回复 使用道具 举报
IwantU
金牌服务用户   /  发表于:2016-12-7 10:57:46
板凳

    spread.scrollbarMaxAlign(true);
    spread.scrollbarShowMax(true);
    for(var spi=0;spi<spread.getSheetCount();spi++){
                    var sheet1= spread.getSheet(spi);
                    sheet1.bind(GcSpread.Sheets.Events.TopRowChanged, function (sender, args) {
                   
                              var rowCount = sheet1.getRowCount();  
                            var bottomRow = sheet1.getViewportBottomRow(1);
                            if(bottomRow == rowCount-1){
                                    if(rowCount<10000){
                                        sheet1.setRowCount(rowCount+2);
                                    }
                                   
                            }
                    });
    }
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-12-7 14:40:31
地板
您好, 您这个是闭包中常见的一个问题,事件中的sheet1最终始终指向的是最后一个sheet。
在事件中使用参数args传递的sheet


  1. sheet1.bind(GcSpread.Sheets.Events.TopRowChanged, function (sender, args) {

  2.                                 var sheet = args.sheet;

  3.                                 console.log(sheet.getName())
  4.                        
  5.                                   var rowCount = sheet.getRowCount();  
  6.                                
  7.                                 var bottomRow = sheet.getViewportBottomRow(1);
  8.                                 if(bottomRow == rowCount-1){
  9.                                         if(rowCount<10000){
  10.                                             sheet.setRowCount(rowCount+10);
  11.                                         }
  12.                                        
  13.                                 }
  14.                         });
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部