EDIT
Хорошо, оказывается, можно определить пользовательский элемент как edittype. Для вашей ситуации, вы могли бы сделать следующее:
colModel :[
{label: 'Game ID', name: 'game_id', editable:true, edittype:'custom',editoptions:{custom_element:myelem,custom_value:myval}},
{label: 'Component ID', name: 'component_id', editable:true, edittype:'custom',editoptions:{custom_element:myelem,custom_value:myval} },
{label: 'Table ID', name: 'table_id', editable:true, edittype:'custom',editoptions:{custom_element:myelem,custom_value:myval}}
]
Тогда вы бы определить myelem
и myval
так:
function myelem(value,options){
return $('<input type="text" value="'+value+'" disabled="disabled"/>');
}
function myval(elem){
return elem.val();
}
Это построит отключенного текстовое поле, и, кажется, меньше хак-иш чем afterShowForm
.
ORIGINAL
Если вы используете элемент управления редактирования формы (не встроенный графический редактор), похоже, что вы должны предоставить afterShowForm функцию (прокрутите вниз до раздела Events). См. this question.
Похоже, вы хотите, чтобы столбцы отображались в представлении, но не редактировались. Если вы установили editable:true
, пользователь может редактировать поле независимо от того, что. То, что вам в итоге нужно сделать, - отключить/установить элемент формы в скрытый, чтобы пользователь не мог изменить его значение. afterShowForm
будет выглядеть примерно так:
afterShowForm: function(eparams){
// change the selector appropriately
$('#jqGrid input[name=game_id]').attr('type','hidden');
// or $('#jqGrid input[name=game_id]').attr('disabled','disabled');
}
' editrules', похоже, не работает, но 'afterShowForm' (что вроде хаки). – Fragsworth
Хорошо, нашел менее запутанный путь. См. Редактирование. Приходит к использованию настраиваемого поля, используя 'edittype: 'custom''. – cmptrgeekken