找回密码
 立即注册

QQ登录

只需一步,快速开始

skiphyuk123

注册会员

5

主题

13

帖子

121

积分

注册会员

积分
121
最新发帖
skiphyuk123
注册会员   /  发表于:2018-10-12 09:36  /   查看:3665  /  回复:5
如图所示,我定义了一个自定义单元格,但是我在单击界面其他的位置的时候 单元格会取消编辑,但是我有些场景是不能让单元格取消编辑的,请问有方法可以阻止单元格取消编辑吗? PS目前用的是9.0版本


image.png836732177.png

5 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-12 11:05:18
沙发
您好,请教您一下,什么场景下不能让单元格取消编辑?可否描述您的具体需求?
回复 使用道具 举报
skiphyuk123
注册会员   /  发表于:2018-10-12 11:44:26
板凳
1.比如录入的数据格式不正确,让他重新录入
2.自定义单元格做一个可录可选择编辑器, 按钮弹出新弹窗的时候,如果点击其他dom元素的话会直接使excel进入取消编辑状态,不知道是不是因为dom元素 没有组织冒泡事件引起的。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-12 14:06:59
地板
您好,Spread的sheet有个startEdit方法,可以让选中的单元格直接进入编辑状态。、

参考API:
http://help.grapecity.com/spread ... heet~startEdit.html

不过您这两个需求不太适用这个方法来解决,我给你上传两个Demo,

其中,StartEditWithEvents这个Demo可以解决您数据校验的问题,

当然数据校验的问题比较推荐用SpreadJS自带的validator解决,参考学习指南:

https://demo.grapecity.com.cn/Sp ... /basicDataValidator

对于您第二个问题,TimeSelectionWidget这个Demo给出了解决方案,您看源码参考一下。

StartEditWithEvents.html

1.53 KB, 下载次数: 96

TimeSelectionWidget.html

3.54 KB, 下载次数: 105

回复 使用道具 举报
skiphyuk123
注册会员   /  发表于:2018-10-12 16:20:18
5#
KevinChen 发表于 2018-10-12 14:06
您好,Spread的sheet有个startEdit方法,可以让选中的单元格直接进入编辑状态。、

参考API:

感谢回复  给dom元素增加attr("gcUIElement", "gcEditingInput"); 这个属性就可以阻止取消编辑了,谢谢!
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-10-12 16:22:01
6#
不客气,很高兴解决了您的问题,本帖我结帖操作了,您有别的问题欢迎发新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部