继续交易,我有一个带有列(“状态”)的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');
}
答案 0 :(得分:0)
<强>解决!强>
Jqgrid没有取消格式化图标。 我不得不把我的unformat函数放到“colmodel”unformat属性中,它工作得很好。