找回密码
 立即注册

QQ登录

只需一步,快速开始

344860032
初级会员   /  发表于:2017-10-17 11:33  /   查看:2857  /  回复:3
本帖最后由 344860032 于 2017-10-18 11:57 编辑

http://gcdn.gcpowertools.com.cn/ ... iewthread&tid=26905
参考这个例子,调用的时候报错,不知道什么原因
function NumberCellType() {
            }

            NumberCellType.prototype = new GC.Spread.Sheets.CellTypes.Text();

            NumberCellType.prototype.createEditorElement = function (context) {
                var editor = GC.Spread.Sheets.CellTypes.Text.prototype.createEditorElement.call(this, context);
                var textarea = editor.firstChild;
                textarea.onkeypress = function (event) {
                    return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 46
                }
                textarea.onkeyup = function (event) {
                    this.value = this.value.replace(/[\u4e00-\u9fa5]/g, '').replace(/\D/g, '')
                }
                textarea.onpaste = function (event) {
                    var clipData = event.clipboardData;
                    return !clipData.getData('text').match(/\D/);
                }
                textarea.ondragenter = function (event) {
                    return false;
                }
                return editor;
            };

sheet.setCellType(7, 8, new NumberCellType());
image.png304027098.png

3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-17 17:28:09
沙发
您好:

改了一下您的代码,您参考一下:
NumberCellType.prototype.createEditorElement = function (context) {
                        var textarea = GC.Spread.Sheets.CellTypes.Text.prototype.createEditorElement.call(this, context);
                        textarea.onkeypress = function (event) {
                                return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 46
                        }
                        textarea.onkeyup = function (event) {
                                this.value = this.value.replace(/[\u4e00-\u9fa5]/g, '').replace(/\D/g, '')
                        }
                        textarea.onpaste = function (event) {
                                var clipData = event.clipboardData;
                                return !clipData.getData('text').match(/\D/);
                        }
                        textarea.ondragenter = function (event) {
                                return false;
                        }
                        return textarea;
                };
回复 使用道具 举报
344860032
初级会员   /  发表于:2017-10-18 08:51:07
板凳
ClarkPan 发表于 2017-10-17 17:28
您好:

改了一下您的代码,您参考一下:

好了,没问题了。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-10-18 11:33:17
地板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部