找回密码
 立即注册

QQ登录

只需一步,快速开始

linxiang19

初级会员

25

主题

65

帖子

242

积分

初级会员

积分
242
linxiang19
初级会员   /  发表于:2018-7-17 14:34  /   查看:3899  /  回复:9
你好:之前一直是绑定单元格的,没怎么注意绑定TABLE的有啥不一样。
这次弄了个绑定列表的,出现了下面的问题,好奇怪也找不到怎么个处理,看能帮忙回答下我疑问
1: TIM截图20180717141813.png
如上图,我这边后台绑定了表格。根据sheet.tables.all()找出所有绑定的表。然后循环tables.调用table.getBingingManager()时,有时能获取绑定的列数据(我用来循环生成我自己的控件).有时直接null,导致getFields()异常,不明白这个是根据什么来的。
2:如果你在后台JSON 保存的时候。最后激活的SHEET页面是在第一个的时候,第1个问题又不会出现。getFields()正常。
可是这时。当你鼠标定位到你绑定的COMOBOX或者其他列表生成的控件时候。
TIM截图20180717142609.png
直接在MIN.JS异常。100多万的字符JS 。加载直接崩溃。怎么调试怎么 知道异常在哪。

9 个回复

倒序浏览
linxiang19
初级会员   /  发表于:2018-7-17 15:26:32
沙发
我自己在看下吧。好像是绑定进去的数据源是空的。可是奇怪。为啥就一个呈现的JSON  sheet索引不一样会导致数据源空掉。我自己查下。可是你们的异常是不是有问题。肯定有人直接在里面写了DEBUGGER吧。只要一调试。有异常直接死在调试代码里面。
我用的是10.2.0
回复 使用道具 举报
linxiang19
初级会员   /  发表于:2018-7-17 15:41:14
板凳
错了。刚才回复时候数据源空的是我在调试太久导致数据源取数异常而已。
后面我发现2个走的方法有差别就差别在 一个serDataSource(数据源)后,一个table._rowCount=1;一个是原来的11 行。这是什么原因。看起来就像是没绑定进去还是咋样
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-17 18:39:00
地板
min.js本身就不是用来调试的,都是压缩混淆的。显示不出来是加载比较慢。等一等会显示出来的。
table._rowCount这个是哪来的,我这边通过表格绑定没有这个属性,如下图所示,用的就是V10.2.0:

image.png262273558.png
image.png94534300.png


回复 使用道具 举报
linxiang19
初级会员   /  发表于:2018-7-17 19:37:11
5#
ClarkPan 发表于 2018-7-17 18:39
min.js本身就不是用来调试的,都是压缩混淆的。显示不出来是加载比较慢。等一等会显示出来的。
table._row ...

你好。
1:那属性我在看下。因为我们这边需要默认生成10行列表数据。估计是我同事在模板的时候设置了个属性。然后我们用RESIZE方法 判断是否超过10行 设置最小行数10.,
2:关于MIN.JS ,我也知道不是用来调试的。都混淆过。肯定调试不动。我意思是当我自身代码异常时候。会跳进去里面。直接卡死。不是我点下一步进去的。是我开着开发者模式的调试窗口。遇到异常直接卡死里面。
3:我想问的是table.getBindingManager() 的返回的对象是哪来的。为什么会出现NULL的
回复 使用道具 举报
linxiang19
初级会员   /  发表于:2018-7-17 20:00:49
6#
本帖最后由 linxiang19 于 2018-7-17 20:02 编辑
ClarkPan 发表于 2018-7-17 18:39
min.js本身就不是用来调试的,都是压缩混淆的。显示不出来是加载比较慢。等一等会显示出来的。
table._row ...

再补充下,我刚才自己全文去搜索你说的_rowCount ,没发现添加的代码。估计也不是我们自己添加的。不过我从MIN.JS 搜索到了 TIM截图20180717195236.png
因为经过混淆,我不知道是否是TABLE的。不过很不凑巧的我们就是使用这4个属性。
另外 下图是我们绑定模板的数据源JSON 。里面也有对应的rowCount 不过到TABLE时 就是_rowCount。
TIM截图20180717195444.png
回复 使用道具 举报
linxiang19
初级会员   /  发表于:2018-7-17 22:09:28
7#
ClarkPan 发表于 2018-7-17 18:39
min.js本身就不是用来调试的,都是压缩混淆的。显示不出来是加载比较慢。等一等会显示出来的。
table._row ...

图1
TIM截图20180717220057.png 图2
TIM截图20180717220039.png


如上图。在setDataSource 时其中里面有一步会触发图2我标识的事件。图1因为没这事件就没触发。我跟进去MIN 就只知道是这个事件引起的差异。不知道为啥会有这样的差别。正常跟异常其实就是我后台模板设计时最后停留的界面是在SHEET1 或者SHEET2 ..
哎 明天再跟吧
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-18 09:32:03
8#
rowCount不是我们产品本身的属性,您可以这么试,新初始化一个spread和sheet,在其中创建一个表,然后获得这个表的table对象,这个对象不会有_rowCount属性。首先产品本身不会提供任何以下划线为开头的public接口,所以这一点很奇怪。您这边查一下是否是自己设置的,如果还是查不出来,麻烦提供一个能够重现问题的demo,否则我这边也没有办法能够重现问题,也就无法解决问题。
回复 使用道具 举报
linxiang19
初级会员   /  发表于:2018-7-18 09:59:46
9#
ClarkPan 发表于 2018-7-18 09:32
rowCount不是我们产品本身的属性,您可以这么试,新初始化一个spread和sheet,在其中创建一个表,然后获得 ...

我早上吧MIN.JS 格式化,跟了一堆的天文乱码。发现异常的,下图。他的编码属性是158 对应的events 没有我楼上回复的那个TABLES的相关事件如果是我这边不会报错的就是118 对应的events 有相关事件。
EM截图_201871895220.png


2:关于提供例子。因为我们虚拟机开发。没办法拿出来代码。我也很烦躁。我自己在看下你们官网的 找个例子改下试下TABLE的属性
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-18 15:19:14
10#
1.这个混淆后的源码上说的这些东西我们也看不懂啊,我们要跟肯定是用源码版进行跟踪调试问题的。
2.可以的,您只要能够提供一个重现问题的简单demo就可以了,其余不相干的逻辑是不需要的。您找一个我们的demo示例改一下,看能否重现这个问题,还有个最简单的办法,您下载一个V11的试用版,替换成V11试一下是否还有这样的问题。如果没问题了那就进行升级就可以了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部