Страница 1 из 1

Поле в jqGrid, редактируемое по условию

СообщениеДобавлено: 05 янв 2012, 10:07
Cruiser78
Привет всем!

Задача - сделать некоторое поле в гриде (jqGrid) редактируемым только при соблюдении некоторого условия, ну и если данное условие не соблюдается, то это поле (в конкретной строке) не должно быть и редактируемым (соответственно и в формах встроенных в jqGrid "редакторов" не должно отсвечивать). Для другой строки таблицы могут быть условия иные и, соответственно и иное поведение редактора.

Делаю следующим образом:
Код: выделить все
onSelectRow: function(id){
            <вычисление условия>
            if ( условие ){
              jQuery("#grid").showCol('colName'); // для проверки условия
              jQuery("#grid").setColProp('colName',{editable:true});
              }
            else  {
              jQuery("#grid").hideCol('colName');// для проверки условия
              jQuery("#grid").setColProp('colName',{editable:false});
              }
        },

Так вот, заданная колонка послушно прячется и появляется в гриде по заданному условию. А вот установка свойства editable:true|false - сопротивляется до последней невозможности. Может оно и ставится, но реакции редактора на эту установку нет никакой.

Что я недоделал? Или что сделал неправильно?

Re: Поле в jqGrid, редактируемое по условию

СообщениеДобавлено: 05 янв 2012, 12:42
Gennady
Попробуйте так:
Код: выделить все
jQuery('#grid_id').setColProp('colname',{editoptions:{editable:false}});

См. http://www.trirand.com/jqgridwiki/doku. ... ki:methods в разделе Add on Grid Methods.

Re: Поле в jqGrid, редактируемое по условию

СообщениеДобавлено: 05 янв 2012, 18:41
Cruiser78
Увы, это я тоже делал. Не выходит каменный цветок. Я и так (как в стартовом топике показал) делал, и так тоже делал. Пример тот я читал, с его повторения и начал эксперимент... Если бы получилось - здесь не писал бы. Не реагирует окно редактора на изменение этого свойства динамически. Похоже, как проинициализировалось оно при старте данного грида, так свойства и помнит, а на их изменения при выборе строк - кладёт.