找回密码
 立即注册

QQ登录

只需一步,快速开始

jian.sun

注册会员

3

主题

8

帖子

61

积分

注册会员

积分
61

微信认证勋章

最新发帖
jian.sun
注册会员   /  发表于:2018-12-20 11:04  /   查看:2377  /  回复:1
下面是源码
//隐藏sheet添加工具栏
var spread = null;
//新建表格展示区
var $activeTableMainForQuery = $(activeTableIdForQuery + '_main');
$activeTableMainForQuery.next('.table-tool').show();
$activeTableMainForQuery.append(' <div id="' + activeTableIdForQuery.replace('#', '') + '" style="border: 1px solid #D3D3D3;height: 100%;"></div>');
var $activeTableIdForQuery = $(activeTableIdForQuery);
//计算初始化时数据表的高度
var height = $('#page_content').height() - ($('#mytab').outerHeight(true) === 0 ? 31 : $('#mytab').outerHeight(true)) - ($('.analysis_conditions_container').outerHeight(true) === 0 ? 211 : $('.analysis_conditions_container').outerHeight(true)) - 25; //减去行列 度量 pv 筛选器 分页高度,最后减去的数字为底部的边距
//设置表格样式
$activeTableMainForQuery.attr("style", "width:calc(100% - 56px);height:100%;");
height -= 20;      //预留计算行的显示距离
$("div.gridWarpId").height(height + "px");

if ($activeTableIdForQuery.data("workbook")) {
   
spread = $activeTableIdForQuery.data("workbook");
   
//挂起重绘机制
    spread.suspendPaint();
   
//创建过的表单重新查询需要删除之前的表单内容
    spread.removeSheet(0);
   
//重新创建新的表单
    spread.addSheet(0);
}
else {
   
spread = new GC.Spread.Sheets.Workbook(document.getElementById(activeTableIdForQuery.replace("#", "")), {sheetCount: 1});
   
//挂起重绘机制
    spread.suspendPaint();
   
//隐藏sheet添加工具栏
    spread.options.tabStripVisible = false;//执行到这一句报错
   
//设置滚动条控制范围
    spread.options.scrollbarMaxAlign = true;
}

报错信息如下
gc.spread.sheets.all.12.0.0.min.js:34 Uncaught TypeError: Cannot read property 'style' of undefined
    at wa.$v (gc.spread.sheets.all.12.0.0.min.js?version=source:34)
    at wa.fq (gc.spread.sheets.all.12.0.0.min.js?version=source:34)
    at wa.Op (gc.spread.sheets.all.12.0.0.min.js?version=source:34)
    at gc.spread.sheets.all.12.0.0.min.js?version=source:33
    at Object.set [as tabStripVisible] (gc.spread.sheets.all.12.0.0.min.js?version=source:24)
    at Object.getSpreadTable (VM60845 app.js:10073)
    at Object.renderTableResultBySpread (VM60845 app.js:11007)
    at Object.renderTable (VM60845 app.js:11430)
    at Component.$renderTable (analysis.js:12929)
    at Object.success (analysis.js:13776)


1 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-20 16:50:41
沙发
您好,我这边用您的代码尝试了一下,没能重现您的问题,

想了解一下,您代码中spread = new GC.Spread.Sheets.Workbook(document.getElementById(activeTableIdForQuery.replace("#", "")), {sheetCount: 1});

这一句执行完后,spread有没有成功初始化?

您从这一点上排查一下,如果还是找不到问题,

可以上传一个能重现问题的Demo,我这边帮您分析一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部