Explorar o código

1,只读列。2,主表定位到空行,从表取消显示。

Chenshilong %!s(int64=8) %!d(string=hai) anos
pai
achega
a1dda1a05a
Modificáronse 2 ficheiros con 22 adicións e 3 borrados
  1. 19 0
      public/web/sheet_creater.js
  2. 3 3
      web/maintain/ration_repository/js/coe.js

+ 19 - 0
public/web/sheet_creater.js

@@ -25,6 +25,7 @@ sheetObj = {
         sheet.addRows(sheet.getRowCount(), 1);      // 扩展1行,用于直接输入以新增记录。
         sheet.bindColumns(colDef);
         me.setColAlign(colDef);
+        me.lockCols(colDef);
         me.setRowHeight(datas, 25);
 
         me.spread.resumePaint();
@@ -59,6 +60,24 @@ sheetObj = {
 
     },
 
+    lockCols: function(colDef){
+        var me = this;
+        var sheet = me.spread.getSheet(0);
+        sheet.options.isProtected = true;
+        sheet.options.isProtected = true;
+        sheet.getRange(-1, 0, -1, colDef.length, GC.Spread.Sheets.SheetArea.viewport).locked(false);
+
+        for (var col = 0; col < colDef.length; col++) {
+            if (colDef[col].readOnly == undefined) {
+                var ro = false
+            }else{
+                var ro = colDef[col].readOnly;
+            };
+
+            sheet.getRange(-1, col, -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(ro);
+        };
+    },
+
     setRowHeight: function(datas, hValue){
         var me = this;
         var sheet = me.spread.getSheet(0);

+ 3 - 3
web/maintain/ration_repository/js/coe.js

@@ -32,7 +32,7 @@ var coeList = {
     tempID: -999999,       // 本地新增一条数据给的默认ID,用作标记,服务端返回新ID后替换该ID
 
     colDefMain: [
-        {name: "ID", displayName: "编号", size: 100, hAlign: "center"},
+        {name: "ID", displayName: "编号", size: 60, hAlign: "center", readOnly: true},
         {name: "name", displayName: "名称", size: 280},
         {name: "content", displayName: "内容", size: 250}
     ],
@@ -117,7 +117,8 @@ var coeList = {
         var dSheet = me.detailSpread.getSheet(0);
         var dData = me.datas[row].coes;
         if (dData == undefined){
-            dSheet.setDataSource(null);
+            dSheet.setDataSource([]);
+            dSheet.setRowCount(0);
         }else{
             dSheet.setDataSource(dData);
             me.showNullRow(dSheet);
@@ -132,7 +133,6 @@ var coeList = {
 
     onMainCellChanged: function(sender, args) {
         if (args.propertyName !== "value"){return;};
-
         var me = coeList;
         var row = args.sheet.getActiveRowIndex();
         var obj = me.datas[row];