请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

刘君

中级会员

141

主题

335

帖子

942

积分

中级会员

积分
942

活字格认证

刘君
中级会员   /  发表于:2016-3-16 17:13  /   查看:2862  /  回复:1
http://115.28.239.99:1180/mSpreadTable.aspx
请帮忙看下这个网页: 问题1:加载时列宽行高设置不起作用,点下面的(显示)按钮后才正常。问题2:显示表格特别慢,以前用试用版时很快。

1 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-17 08:36:42
沙发
本帖最后由 dexteryao 于 2016-3-17 08:39 编辑

我看了下您也面的代码,有以下几个问题。
1. 应该先“new GcSpread.Sheets.Sheet('进度')”然后再“spread.addSheet(0, sheet);”。这个是造成页面列宽行高设置不起作用的原因,其实你点击显示是显示的上一次的sheet。


  1. //显示表格及内容
  2.     function CreateTable(vSheet) {

  3.         //生成新表

  4.         spread.clearSheets();

  5.         sheet = new GcSpread.Sheets.Sheet('进度');
  6.         spread.addSheet(0, sheet);

  7.         spread.useTouchLayout(true);
  8.         spreadNS = GcSpread.Sheets,

  9.         sheet = spread.getSheet(0),
  10.         SheetArea = spreadNS.SheetArea;



复制代码




2. 你将“  //sheet.isPaintSuspended(true);” 注释掉了,所以显示表格特别慢。


3.建议您不要每次都做“var activeSheet = spread.getActiveSheet();”这个操作,因为sheet在循环前面已经有了,作为参数传入就好了。上百次的声明获取操作也是对性能的损耗。

  1. ...
  2.        //表格
  3.         var vTab = vSheet.jsheet[2].jTab;
  4.         for (var i = 0; i < vTab.length; i++) {
  5.              WriteCellValue(sheet, vTab[i]);
  6.         };

  7. ....

  8. //显示每一单元格
  9.     function WriteCellValue(activeSheet , jCell) {
  10.         //var activeSheet = spread.getActiveSheet();

复制代码






评分

参与人数 1满意度 +5 收起 理由
刘君 + 5 谢谢

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部