jqGrid - 动态更改列模型上的可编辑属性时出现editrules问题

时间:2013-05-07 17:18:49

标签: jqgrid

我正在为jqGrid使用内联行编辑。

我循环遍历每一行,在调用editRow()之前,我将某些行的列模型上的editable属性设置为FALSE(使某些行的列不可编辑)。这一切都正常,直到我将rowrules添加到列模型。保存行时,我收到一个javascript错误“a is undefined”。

问题 - 是否有办法让列对某些行不可编辑,而其他行是否定义了编辑规则?

非常感谢任何投入!

1 个答案:

答案 0 :(得分: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]);
}