找回密码
 立即注册

QQ登录

只需一步,快速开始

lin123

中级会员

3

主题

52

帖子

629

积分

中级会员

积分
629

微信认证勋章

最新发帖
lin123
中级会员   /  发表于:2018-4-19 15:00  /   查看:3398  /  回复:8
本帖最后由 lin123 于 2018-4-20 15:49 编辑

想在单元格输入“=D1+D2”时,按“=”后鼠标可以选择其他的单元格加入公式,结果不知道在哪里做了设置,导致一选就跳出编辑。

源代码给不了,抱歉。

想知道哪里的设置可能导致这种情况?

现在的情况

现在的情况

想要的结果

想要的结果

8 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-19 17:55:50
沙发
您好,您单元格是否是自定义单元格呢?
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-4-19 18:05:22
板凳
ClarkPan 发表于 2018-4-19 17:55
您好,您单元格是否是自定义单元格呢?

是的
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-20 10:10:22
地板
那您看一下您createEditorElement 方法中是否自己绘制了Editor框,如果有,将自己绘制的Editor的dom上增加gcUIElement属性,例如:
$editor.attr("gcUIElement", "gcEditingInput");
这样spreadjs就会认为该editor是spreadjs本身的组件,这样就不会跳出编辑了
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-4-20 10:27:23
5#
ClarkPan 发表于 2018-4-20 10:10
那您看一下您createEditorElement 方法中是否自己绘制了Editor框,如果有,将自己绘制的Editor的dom上增加g ...

NumberCellType.prototype.createEditorElement = function (context) {
   var editor = GC.Spread.Sheets.CellTypes.Text.prototype.createEditorElement.call(this, context)
   var textarea = editor
   var removeNoNumber = function (){
           var textarea = this;
           var value = textarea.value
           if(value && value.length && !$.isNumeric(value)){
                   textarea.value = '';
           }
   }
   textarea.onkeydown = removeNoNumber;
   textarea.onkeyup = removeNoNumber;
   textarea.onchange = removeNoNumber;
   return editor;
};
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-4-20 10:27:31
6#
ClarkPan 发表于 2018-4-20 10:10
那您看一下您createEditorElement 方法中是否自己绘制了Editor框,如果有,将自己绘制的Editor的dom上增加g ...

NumberCellType.prototype.createEditorElement = function (context) {
   var editor = GC.Spread.Sheets.CellTypes.Text.prototype.createEditorElement.call(this, context)
   var textarea = editor
   var removeNoNumber = function (){
           var textarea = this;
           var value = textarea.value
           if(value && value.length && !$.isNumeric(value)){
                   textarea.value = '';
           }
   }
   textarea.onkeydown = removeNoNumber;
   textarea.onkeyup = removeNoNumber;
   textarea.onchange = removeNoNumber;
   return editor;
};
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-4-20 10:28:42
7#
ClarkPan 发表于 2018-4-20 10:10
那您看一下您createEditorElement 方法中是否自己绘制了Editor框,如果有,将自己绘制的Editor的dom上增加g ...

单元格里面做了限制,去除掉其他的符号
回复 使用道具 举报
lin123
中级会员   /  发表于:2018-4-20 10:29:38
8#
ClarkPan 发表于 2018-4-20 10:10
那您看一下您createEditorElement 方法中是否自己绘制了Editor框,如果有,将自己绘制的Editor的dom上增加g ...

这种情况有没有办法改?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-4-20 12:08:25
9#
如果去除了其他符号,那么等号不就输入不了了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部