Вот в чем дело, у меня есть JqGrid со столбцом («Статус») с 3 возможными числами, которые я форматирую (и не форматирую) для 3 разных значков в сетке. Но мне нужно отформатировать эти числа как выбранный тип с выбранной опцией, когда я в режиме редактирования.
Я сделал это, но комбо в Editform показывает без какого-либо предварительно загруженного выделения из сетки, даже если оно имеет значение. Любая строка, которую я выбираю в сетке, прибывает в EditForm с тем же значением комбо.
Но если я выберу любую опцию в Editform и сохраню ее, она будет обновляться нормально.
Чего мне не хватает?
Colmodel определение статуса:
colModel:[
{name:'status_solicit_vale',index:'status_solicit_vale',width:120, align:'center', formatter:'iconFmatter', unformat:'iconUnFmatter',
stype:'select', editable: true, searchoptions:{value:":Todos;0:Aguardando;1:Autorizado;2:Rejeitado"}, edittype:"select",
editoptions:{value:"0:Aguardando;1:Autorizado;2:Rejeitado"} }
],
Определение EditOptions:
{
Modal:true,
reloadAfterSubmit : true,
recreateForm : true,
closeAfterEdit : true,
closeAfterAdd : true,
reloadAfterSubmit: true,
checkOnSubmit: true,
closeAfterEdit: true,
bClose: "Fechar",
saveData: "Confirma alteração?",
bYes : "Sim",
bNo : "Não",
bExit : "Cancelar",
afterSubmit: function () {
jQuery("#gridJson").jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
return [true,'']; // no error
}
}, // EDIT OPTIONS
Формат и неформат для значков в сетке:
iconFmatter : function(cellvalue, options, rowdata) {
switch(cellvalue){
case 0: var html = '<div class="ui-state-attention ui-corner-all" style="display:table"><span class="ui-icon ui-icon-alert" title="Aguardando" id=0></span></div>';
break;
case 1: var html = '<div class="ui-state-check ui-corner-all" style="display:table"><span class="ui-icon ui-icon-check" title="Autorizado" id=1></span></div>';
break;
case 2: var html = '<div class="ui-state-error ui-corner-all" style="display:table"><span class="ui-icon ui-icon-closethick" title="Rejeitado" id=2></span></div>';
break;
default: html = "ERRO";
break;
}
return html;
},
iconUnFmatter : function(cellvalue, options, cell) {
return $('span', cell).attr('id');
}