您好,可以实现。
用SpreadJS的Events可以监听用户输入、粘贴等操作时,单元格的值的变化。
参考API :
http://help.grapecity.com/spread ... .Sheets.Events.html
需要用到的事件有3个,我用一个示例演示一下。
示例代码如下:
- function initSpread(spread) {
- spread.bind(spreadNS.Events.EditEnding, function (e, args) {
- console.log(args);
- var val = Number(args.editingText);
- if(isNaN(val)){
- alert("Number only");
- args.cancel = true;
- }
- });
- spread.bind(spreadNS.Events.ClipboardPasting, function (e, args) {
- console.log(args);
- var pasteOption = args.pasteOption;
- // 判断当前粘贴类型为粘贴值或粘贴所有内容(包含值)
- if(pasteOption === GC.Spread.Sheets.ClipboardPasteOptions.values ||
- pasteOption === GC.Spread.Sheets.ClipboardPasteOptions.all){
- var data = args.pasteData.text;
- var dataArr = data.trim().split("\t");
- if(dataArr && dataArr.length > 0){
- for(var i=0; i<dataArr.length; i++){
- var val = dataArr[i].trim();
- if(val && val.length > 0){
- val = Number(val);
- if(isNaN(val)){
- alert("Number only");
- args.cancel = true;
- break;
- }
- }
- }
- }
- }
- });
- }
复制代码
|