找回密码
 立即注册

QQ登录

只需一步,快速开始

jian.sun

注册会员

3

主题

8

帖子

61

积分

注册会员

积分
61

微信认证勋章

最新发帖
jian.sun
注册会员   /  发表于:2018-12-20 11:09  /   查看:2607  /  回复:9
下面是源码
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)

9 个回复

倒序浏览
jian.sun
注册会员   /  发表于:2018-12-20 11:12:09
沙发
我是chrome浏览器 版本 70.0.3538.102(正式版本)
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-20 15:03:49
板凳
您好,根据您提供的代码并没有重现问题。
我在页面放了一个ss_main的div 设置activeTableIdForQuery = “ss_main” ,执行您的代码,并为重现问题。
可能还需要您提供一下更详细的重现步骤,最好能提供个Demo
回复 使用道具 举报
jian.sun
注册会员   /  发表于:2018-12-20 15:29:41
地板
image.png
new GC.Spread.Sheets.Workbook(document.getElementById(activeTableIdForQuery.replace("#", "")), {sheetCount: 1});
初始化的是内部这个DIV tab_panel_xxxx_grid


image2.png


这个是初始化之后拿到的spread对象sheet为空数组?这个算初始化成功吗?
回复 使用道具 举报
jian.sun
注册会员   /  发表于:2018-12-20 15:31:57
5#
它这个DIV是被jquery append动态构建出来的,有没有影响?
回复 使用道具 举报
jian.sun
注册会员   /  发表于:2018-12-20 15:39:08
6#
我加载的spread相关文件包括:
gc.spread.sheets.resources.zh.12.0.0.min.js
gc.spread.sheets.all.12.0.0.min.js
gc.spread.sheets.12.0.0.css
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-20 16:16:56
7#
jian.sun 发表于 2018-12-20 15:31
它这个DIV是被jquery append动态构建出来的,有没有影响?

那样看spread绑定时候,jquery有没有动态append出来
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-20 16:37:33
8#
我按照你说的方法还是没能重现,我把demo给你,你参考一下先点击append按钮,再点击init按钮,spread可以正常加载

appendAndInit.html

919 Bytes, 下载次数: 65

回复 使用道具 举报
jian.sun
注册会员   /  发表于:2018-12-20 17:58:37
9#
知道原因了,是因为加载了V10的旧的licenses代码导致的,去掉后恢复了。
GC.Spread.Sheets.LicenseKey=xxxx

但是这个报错信息太不友好了,建议可以有更明确的报错信息,方便定位。
感谢官方的支持。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-20 18:08:00
10#
您好,感谢您的反馈。

授权不对,前端页面会显示非法授权的信息,因为您这边还没展示,所以没看到。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部