JqGrid: Frozen column

2

I would like to know if someone has already placed a frozen: true column with cellEdit: true , I checked the doc that there is a restriction of it.

Does anyone know of any way to do the frozen being the column editable? (forcefully or dynamically)

Follow the codes below.

Jqgrid

    jQuery("#grid_especialidade").jqGrid({
                url:'odo_prs0169b.asp',
                mtype: 'GET',
                postData: { "COD_PRESTADOR_TS": function () { return $("#cod_prestador_ts").val(); },
                            "COD_OPERADORA": function () { return $("#cod_operadora_atual").val(); },
                            "listar": function () { return listar; },
                            "txtJSON": function () { return $('#txtJSON').val(); }

                },      
            datatype: "json",
                colNames:[      'Nome'
                            ,   'Principal?'
                            ,   'Divulga?'
                            ,   'Especialista'
                            ,   'Data Início'
                            ,   'Data Fim'
                            ,   'Observação'
                            ,   'Proc.'
                            ,   'Instituição de Ensino'
                            ,   'Título Especialização'
                            ,   'Excluir'
                            // Campos invisíveis
                            , 'Código Especialidade'
                         ],
                colModel:[
                        {name:'NOME_ESPECIALIDADE', index:'NOME_ESPECIALIDADE', width:400, frozen:true}
                    ,   {name:'IND_ESP_PRINCIPAL', index:'IND_ESP_PRINCIPAL', width:65, align:'center', classes: 'campoCheck', edittype: 'checkbox', editoptions: { value: "S:N" }, formatter: "checkbox", formatoptions: { disabled: false}}
                    ,   {name:'IND_DIVULGACAO_HAB', index:'IND_DIVULGACAO_HAB', width:60, align:'center', classes: 'campoCheck', edittype: 'checkbox', editoptions: { value: "S:N" }, formatter: "checkbox", formatoptions: { disabled: false}}
                    ,   {name:'NOME_ESPECIALISTA', index:'NOME_ESPECIALISTA', width:200, editable: true}
                    ,   {name:'DATA_INI_HAB', index:'DATA_INI_HAB', width:75, align:'center', editable: true }
                    ,   {name:'DATA_FIM_HAB', index:'DATA_FIM_HAB', width:75, align:'center', editable: true}
                    ,   {name:'TXT_OBS_NAO_DIVULGACAO', index:'TXT_OBS_NAO_DIVULGACAO', width:500, editable: true}


                    ,   {name:'ITEM_MEDICO',index:'ITEM_MEDICO',width:100, align:'center', formatter: function(cell, options,row, rowid) 
                                                                                                     { 
                                                                                                        var vLink = "http://223.223.2.160/ace/ace005a.asp?/odo_prs/asp/odo_prs0168h.asp?PT=Consulta Procedimentos Habilitados&cod_espec=" + cell + "&ind_tipo=1" + "&Titulo=Consulta Procedimentos Habilitados" ;
                                                                                                        return "<a href='" + vLink + "' target='_blank'><img src='../../odo_gen/img/proc.gif' border='none'/></a>" 

                                                                                                     }
                        }


                    ,   {name:'COD_INSTITUICAO',index:'COD_INSTITUICAO', width:400, align:"center", editable: true, formatter:'select', edittype:'select', editoptions:{value:CarregaInstituicao()}}
                    ,   {name:'TITULO_ESPECIALIZACAO',index:'TITULO_ESPECIALIZACAO', width:200, editable: true}
                    ,   {name:'IND_EXCLUIR',index:'IND_EXCLUIR' , width:50, align:'center', classes: 'campoCheck', edittype: 'checkbox', editoptions: { value: "S:N" }, formatter: "checkbox", formatoptions: { disabled: false}}
                    // Campos invisíveis
                    ,   {name:'COD_ESPECIALIDADE', index:'COD_ESPECIALIDADE', width:50, hidden:true, key:true}
                ],             


            gridComplete: function(rowid){
                rowDataIniGrid = $('#grid_especialidade').jqGrid('getRowData', rowid);
            },

            jsonReader: {
                repeatitems: false,
                root: function (obj)    { return obj.Items[0].items; },
                page: function (obj)    { return obj.Items[0].page; },
                total: function (obj)   { return obj.Items[0].total; },
                records: function (obj) { return obj.Items[0].records; }
            },  
            rowNum: 50,
            width:1000,
            height: 300,
            shrinkToFit: false,
            gridview: true,
            rownumbers: false,
            loadonce: true,
            sortable: true,
            rowList: [50, 100, 150],            
            recordtext: "Vendo {0} - {1} de {2}",
            viewrecords: true,
            emptyrecords: "Não foi encontrado nenhum registro",
            loadtext: "Carregando...",
            autowidth: false,
            pgtext: "Pagina {0} de {1}",
            loadError: function (xhr, st, err) { 
              alert("Erro ao carregar grid de especialidades: "+st+" -  "+ xhr.status + " "+xhr.statusText)
            },       
            pager: jQuery('#pager'),
            cellsubmit: 'clientArray',
            sortname: 'COD_ESPECIALIDADE',
            sortorder: "asc",
            caption:"Especialidades",
            cellEdit: true,


            afterSaveCell: function(rowid,name,val,iRow,iCol) {
                montaXML();
            },


            afterEditCell: function (id,name,val,iRow,iCol){
                if(name=='DATA_INI_HAB') 
                {
                    jQuery("#"+iRow+"_DATA_INI_HAB","#grid_especialidade").datepicker({dateFormat:"dd/mm/yy"});

                }

                if(name=='DATA_FIM_HAB') 
                {
                    jQuery("#"+iRow+"_DATA_FIM_HAB","#grid_especialidade").datepicker({dateFormat:"dd/mm/yy"});

                }   

            }

        })

        jQuery("#grid_especialidade").jqGrid('navGrid',"#pager",{edit:false,add:false,del:false,search:false,refresh:false});


    });

jQuery("#grid_especialidade").jqGrid('setFrozenColumns');

JSON generated (please click the JSON link)

    
asked by anonymous 07.04.2014 / 21:14

1 answer

1

Frozen columns can not be edited inline . This is a jqGrid limitation .

That said, you can always enable editing through forms . In particular you can call the form in the event in case of double click:

ondblClickRow: function(rowid) {
    jQuery(this).jqGrid('editGridRow', rowid);
}
    
07.04.2014 / 21:46