2013-05-07 51 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]); 
} 
代码