2013-05-07 2 views
0

Я использую встроенное редактирование строк для jqGrid.jqGrid - Проблема с editrules при динамически изменяющемся редактируемом свойстве в модели столбца

Я прокручиваю каждую строку и перед вызовом editRow() я устанавливаю редактируемое свойство в модели столбца для определенных строк как FALSE (делая столбец для некоторых строк не редактируемым). Все это работает нормально, пока я не добавлю editrules в модель столбца. Я получаю ошибку javascript «a undefined» при сохранении строк.

Вопрос: Есть ли способ сделать столбец не редактируемым для определенных строк, а для других строк - правило редактирования?

Любые материалы приветствуются!

ответ

0

Я смог решить эту проблему, установив/сбросив свойство editrules на colModel перед вызовом saveRow() для каждой строки. Ниже приведен фрагмент кода

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]); 
} 
Смежные вопросы