2013-05-07 98 views
0

我正在使用內聯行編輯jqGrid。jqGrid - 動態更改列模型上的可編輯屬性時出現editrules

我循環遍歷每一行,並在調用editRow()之前,將某些行的列模型的editable屬性設置爲FALSE(使某些行的列爲不可編輯)。這一切都工作正常,直到我添加editrules列模型。保存行時,我收到一個javascript錯誤「a未定義」。

問題 - 有沒有辦法讓某列不可編輯某些行,而其他行是否定義了編輯規則?

任何輸入是非常感謝!

回答

0

我可以通過在調用每行上的saveRow()前設置/重置colModel上的editrules屬性來解決此問題。下面的代碼片段

function updateEditRuleProp() { 
    var qtyRule = {required:true, number:true, minValue:1}; 
    if (condition to disable editrules) { 
      qtyRule = null; 
    } 
    jQuery("#tableId").jqGrid('getColProp', 'yourColumName').editrules = qtyRule; 
} 

下面是調用上面的函數

var $this = jQuery("#tableId"), ids = $this.jqGrid('getDataIDs'), i, l = ids.length; 
for (i = 0; i < l; i++) { 
     updateEditRuleProp(); 
     jQuery("#tableId").jqGrid('saveRow', ids[i]); 
} 
代碼