瀏覽代碼

Clipboard paste issue(cause by sheet.clearSelection())

TonyKang 8 年之前
父節點
當前提交
8f74f4bc0d
共有 2 個文件被更改,包括 12 次插入8 次删除
  1. 11 7
      web/rationRepository/js/ration.js
  2. 1 1
      web/rationRepository/js/sheetCommon.js

+ 11 - 7
web/rationRepository/js/ration.js

@@ -34,10 +34,10 @@ var rationOprObj = {
         }
     },
     buildSheet: function(container) {
-        var me = this;
+        var me = rationOprObj;
         me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
-        me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
-        me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, me.onCellEditStart);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
         me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
@@ -49,8 +49,8 @@ var rationOprObj = {
             sheetCommonObj.cleanSheet(sheet, setting, -1);
             sheetCommonObj.shieldAllCells(sheet);
         } else {
-            sheetCommonObj.cleanSheet(rationGLJOprObj.workBook.getSheet(0), rationGLJOprObj.setting, -1);
-            sheetCommonObj.shieldAllCells(rationGLJOprObj.workBook.getSheet(0));
+            sheetCommonObj.cleanSheet(sheet, setting, -1);
+            sheetCommonObj.shieldAllCells(sheet);
             var cacheSection = me.getCache();
             if (cacheSection && args.row < cacheSection.length) {
                 rationGLJOprObj.getGljItems(cacheSection[args.row]);
@@ -155,10 +155,14 @@ var rationOprObj = {
             rObj["ID"] = me.currentEditingRation["ID"];
             updateArr.push(rObj);
         } else {
-            addArr.push(rObj);
+            if (!sheetCommonObj.chkIfEmpty(rObj, me.setting)) {
+                addArr.push(rObj);
+            }
         }
         me.currentEditingRation = null;
-        me.mixUpdateRequest(updateArr, addArr, []);
+        if (updateArr.length > 0 || addArr.length > 0) {
+            me.mixUpdateRequest(updateArr, addArr, []);
+        }
     },
     onClipboardPasting: function(sender, args) {
         var me = rationOprObj;

+ 1 - 1
web/rationRepository/js/sheetCommon.js

@@ -37,7 +37,7 @@ var sheetCommonObj = {
         sheet.suspendEvent();
         sheet.clear(-1, 0, -1, setting.header.length, GC.Spread.Sheets.SheetArea.viewport, GC.Spread.Sheets.StorageType.data);
         if (rowCount > 0) sheet.setRowCount(rowCount);
-        sheet.clearSelection();
+        //sheet.clearSelection();
         sheet.resumeEvent();
         sheet.resumePaint();
     },