2015-11-09 54 views
0

這是我怎麼編碼,請幫我禁用特定列:如何基於在ExtJS的列的其他值禁用電網的特定列

listeners: { 
    beforeedit: function(obj) { 
     debugger; 
     var c = obj.record.get('quarterlyreview1'); 
     if(c==="Approved") { 
      var d = obj.record.get('quarterlyprogress1'); 
      obj.record.cancelEdit(); 
     } 
     // return obj.record.get('status'); 
     // you can update the above logic to something else 
     // based on your criteria send false to stop editing 
    } 
}, 
+0

隨着 「禁用」(此代碼將爲V4和V5工作)你的意思是 「拒絕編輯」?你的ExtJS版本是什麼? – Michel

+0

ya這意味着在quarterlyreview1的值爲「Approved」後,用戶不能更改「quarterlyprogress1」字段。 這是一個開源的下載項目,所以我不使用它的版本,按照我的要求修改它。 –

回答

0

根據the Documentation如果beforeedit回報false編輯是停止。

listeners: { 
    beforeedit: function(editor, context, eOpts) { 
     debugger; 
     var c = context.record.get('quarterlyreview1'); 
     if(c==="Approved" && (context.colIdx==0 || context.colIdx==1)) { 
      return false; 
     } 
     // return context.record.get('status'); 
     // you can update the above logic to something else 
     // based on your criteria send false to stop editing 
    } 
}, 
+0

return false; 它的工作,但它禁用整行,我只是想禁用特定的單元格。 –

+0

你使用rowediting或cellediting插件嗎?你應該使用cellediting和編輯的代碼來禁用第1列和第2列的編輯 – Michel

+0

我得到了解決方案 –