Как отключить редактирование для некоторых ячеек в редактировании строк JQGrid? - PullRequest
5 голосов
/ 11 октября 2011

Когда я щелкаю по любой строке своей таблицы, все редактируемые столбцы становятся редактируемыми.

Я хочу, чтобы некоторые столбцы можно было редактировать в каждой строке отдельно.

                 Column 1,   Column 2,     Column 3             
ROW Number 1 - editable,     non-editable, non-editable  
ROW Number 2 - non-editable, editable,     non-editable    
ROW Number 3 - editable,     non-editable, non-editable  

Заранее спасибо

Ответы [ 2 ]

11 голосов
/ 12 октября 2011

Если вы используете встроенный режим редактирования и хотите решить динамически , какие ячейки строки будут редактироваться, например, на основе содержимого ячеек, вы можете сделать это следующим образомкоторый я описал здесь .Вы можете сделать это и с помощью другого метода:

$(this).jqGrid('setColProp', 'YouColumnName', {editable:false});

Так что вам нужно просто установить editable на false или true до вызова editRow метод.Таким образом, вы можете реализовать любую логику, какую захотите.

ОБНОВЛЕНИЕ: Свободный jqGrid позволяет определить editable как функцию обратного вызова.См. статью в вики .Это позволяет сделать столбец редактируемым в одних строках и удерживать недоступным для редактирования в других строках.

0 голосов
/ 26 августа 2015

У меня было похожее требование, просто я уточнил, что Олег уже упоминал в своем ответе:

//get colModel properties
var cm = jQuery("#grid").jqGrid('getColProp','myColumn');

//some condition to enable or disable editing
cm.editable = false;

//always call editRow after changing editable property
jQuery('#grid').jqGrid('editRow', rowId, {});

//set default editable option
cm.editable = true;

Приветствия:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...