找回密码
 立即注册

QQ登录

只需一步,快速开始

ccooder

初级会员

14

主题

48

帖子

326

积分

初级会员

积分
326

微信认证勋章

ccooder
初级会员   /  发表于:2019-2-12 19:41  /   查看:2778  /  回复:9
先这样说吧,如果看到这个错误有在哪里出问题的猜测吗?
毫无头绪
image.png833922424.png

9 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-2-13 09:39:49
沙发
您好,要使用Spread JS执行打印操作,需要引入print包,请参考学习指南:

https://demo.grapecity.com.cn/Sp ... /#/demos/basicPrint

如图所示:

image.png344844054.png

您可以在官网下载的安装包的\scripts\plugins路径下找到gc.spread.sheets.print包。
回复 使用道具 举报
ccooder
初级会员   /  发表于:2019-2-13 10:04:43
板凳
KevinChen 发表于 2019-2-13 09:39
您好,要使用Spread JS执行打印操作,需要引入print包,请参考学习指南:

https://demo.grapecity.com.c ...

不是不是  您再看看  是Paint  不是Print
回复 使用道具 举报
ccooder
初级会员   /  发表于:2019-2-13 10:14:10
地板
本帖最后由 ccooder 于 2019-2-13 10:18 编辑
KevinChen 发表于 2019-2-13 09:39
您好,要使用Spread JS执行打印操作,需要引入print包,请参考学习指南:

https://demo.grapecity.com.c ...

不好意思  我找到原因了 完完全全是我错误
错误的原因是 我有一个下拉框的我给他初始化的时候传的combo值不太对
这样的话,是不是咱们的给控件赋值的时候就可以有错误提示
而不是 赋值操作可以通过 展示的时候说不支持Paint 完全不知道是哪里出的错
我说的赋值操作指的是,这个应该说是必变单元格的类型:
  1. sheet.getCell(range.row +i, range.col, GC.Spread.Sheets.SheetArea.viewport).cellType(combo);
复制代码


回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-2-13 10:14:34
5#
哦哦,抱歉没看清楚,这个问题需要您提供一个能重现问题的Demo,我这边排查一下。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-2-13 10:18:57
6#
ccooder 发表于 2019-2-13 10:14
不好意思  我找到原因了 完完全全是我错误
错误的原因是 我有一个下拉框的我给他初始化的时候传的combo ...

好的,您能发现问题是最好不过了,咱控件是基于纯前端javascript语言实现的,js这种弱类型语言,

没法做到编译时提示错误啊,只能是在运行时才知道哪里有错误。。。
回复 使用道具 举报
ccooder
初级会员   /  发表于:2019-2-13 10:21:02
7#
本帖最后由 ccooder 于 2019-2-13 10:23 编辑
KevinChen 发表于 2019-2-13 10:18
好的,您能发现问题是最好不过了,咱控件是基于纯前端javascript语言实现的,js这种弱类型语言,

没法 ...

是 我知道  应该是在运行到 设置单元格类型的时候就报错
这个肯定是早一步执行到这段代码吧
最起码得是个对象,对象里面有一些必要的属性才让它赋值成功吧
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-2-13 10:48:12
8#
您好,我不是很明白您的意思,能否进一步说明一下,或者绘制个示意图?
回复 使用道具 举报
ccooder
初级会员   /  发表于:2019-2-13 11:31:19
9#
本帖最后由 ccooder 于 2019-2-13 11:33 编辑
KevinChen 发表于 2019-2-13 10:48
您好,我不是很明白您的意思,能否进一步说明一下,或者绘制个示意图?

JS是解释执行,所以代码的执行顺序肯定是
执行开始:将单元格的类型改变了 之后 才去执行的渲染操作对不对
但是 我这个情况就是不慎在改变单元格类型的时候值传的有问题

那么这个报错是不是应该在代码执行到改变单元格类型时,判断我传的值是否正确,不正确就抛出错误(这时候也可以抛出一些详细的错误)
而不是让代码执行到渲染的时候发现不能渲染再抛出(这个错误它目前只是说不能渲染,但是定位可能会不友好)

觉得不太友好,只是一点儿小建议。无关Spread的依旧强大

评分

参与人数 1金币 +500 收起 理由
KevinChen + 500 感谢您的建议!

查看全部评分

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-2-13 11:57:38
10#
您好,您的意思我明白了,非常感谢您的建议,同时也感谢您对SpreadJS的认可!

这个问题我会向研发部门反馈,争取让SpreadJS越来越强大,谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部