Jqgrid在Editform中设置选择

时间:2011-12-07 17:25:14

标签: javascript jquery jqgrid

继续交易,我有一个带有列(“状态”)的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');
    }

Jqgrid select

1 个答案:

答案 0 :(得分:0)

<强>解决!

Jqgrid没有取消格式化图标。 我不得不把我的unformat函数放到“colmodel”unformat属性中,它工作得很好。