JqGrid Configure Sorting

0

I would like to know if by JqGrid, I have to do a sort order, for example:

I have the following columns: Order, Sequence, Procedure, Tooth, Date, Tab.

When you click the Order column, I want you to sort by Order, Sequence, and Procedure.

When you click on the others, the default ordering is done.

Does anyone know how?

Below is my screen.

$(function () {
    jQuery("#grid1").jqGrid({
        url:'odo_atd0050c.ASP',
        mtype: 'GET',
        postData: { "NUM_ASSOCIADO":        function () { return $("#num_associado").val();     },
                    "NUM_PEDIDO":           function () { return $("#num_pedido").val();        },
                    "ITEM_MEDICO":          function () { return $("#item_medico").val();       },
                    "COD_PRESTADOR_EXEC":   function () { return $("#cod_prestador_ts").val();     },
                    "DATA_SOLICITACAO_INI": function () { return $("#data_solicitacao").val();  },
                    "DATA_SOLICITACAO_FIM": function () { return $("#dt_fim_solicitacao").val();},
                    "DATA_REALIZACAO_INI":  function () { return $("#dt_ini_realizacao").val(); },
                    "DATA_REALIZACAO_FIM":  function () { return $("#dt_fim_realizacao").val(); },
                    "DATA_PAGAMENTO_INI":   function () { return $("#dt_ini_pagamento").val();  },
                    "DATA_PAGAMENTO_FIM":   function () { return $("#dt_fim_pagamento").val();  },
                    "COD_DENTE_REGIAO":     function () { return $("#cod_dente_regiao").val();  },
                    "COD_TRATAMENTO":       function () { return $("#cod_tratamento").val();  },
                    "IND_PEDIDO_CANCELADO": function () { if($('#ind_pedido_cancelado').prop('checked')) {return 'S'}else{return 'N'} },
                    "IND_ITEM_CANCELADO":   function () { if($('#ind_item_cancelado').prop('checked')) {return 'S'}else{return 'N'} }

        },        
        datatype: "json",
        colNames:[  //AUTORIZAÇÃO
                    'Tipo', 'Pedido','Executante','Procedimento','Dente/Região','Face','M','O/I','D','V','L/P','Situação','Anexo','Autorização','Sit.Item','Glosa',
                    //PAGAMENTO
                    'Guia','Situação','Referência','Realização','Sit.Item','Glosa','Pagamento', 
                    //REVISÃO
                    'Guia','Situação Revisão','Referência','Realização','Sit. Item', 'Glosa Revisão','Qtd.',

                    //Hidden
                    'NOME_PRESTADOR', 'NOME_ITEM', 'NUM_GRD', 'QTD_GLOSA_ANALISE_AUT','QTD_GLOSA_ANALISADA_AUT','QTD_GLOSA_ANALISE_PGTO','QTD_GLOSA_ANALISADA_PGTO',
                    'COD_SITUACAO', 'NUM_SEQ_ITEM', 'COD_TS_NR', 'COD_PRESTADOR_TS', 'COD_TS_CONTA', 'MES_ANO_REF', 'COD_TS_ITEM'
                 ],
        colModel:[
            //AUTORIZAÇÃO
            {name:'IND_TIPO',                       index:'IND_TIPO',                       width:80,   classes: 'cAutorizacao', align:"center", frozen:true, cellattr: function () { return ' title="Autorização"'; }},                        
            {name:'NUM_PEDIDO',                     index:'NUM_PEDIDO',                     width:80,   classes: 'cAutorizacao', key:true,       frozen:true, formatter:function (cellvalue, options, rowObject){var cellPrefix = '';cellPrefix = '<a href="javascript:HistoricoPedido('+cellvalue+');'+ '" style=text-decoration:none >&nbsp;'+cellvalue+'</a>';if (rowObject.COD_SITUACAO == '1' || rowObject.COD_SITUACAO == '9'){cellPrefix = cellPrefix + "<a href = 'javascript:ImprimePedido(" + rowObject.NUM_PEDIDO + "," + rowObject.COD_SITUACAO + ");' style='text-decoration:none' >   <img src='../../odo_gen/img/odo_printer_c.gif' alt='Imprimir' border='0' /> </a>";} return cellPrefix;}},
            {name:'COD_NOME_PRESTADOR',             index:'COD_NOME_PRESTADOR',             width:300,  classes: 'cAutorizacao', align:"left", frozen:true, cellattr: function (cellvalue, options, rowObject) { if (rowObject.COD_PRESTADOR_PRO != "") {return ' title="' +rowObject.COD_PRESTADOR_PRO+ ' - ' +rowObject.NOME_PRO_EXECUTANTE+ '"';}else{return ' title="' +rowObject.COD_PRESTADOR+ ' - ' +rowObject.NOME_PRESTADOR+ '"';} } },               
            {name:'ITEM_MEDICO',                    index:'ITEM_MEDICO',                    width:95,  classes: 'cAutorizacao', align:"center", frozen:true, formatter:function (cellvalue, options, rowObject){ var cellPrefix = ''; if (rowObject.QTD_ANEXO > 0){cellPrefix = "<a href = 'javascript:AbreTelaAnexo(" + rowObject.NUM_PEDIDO + ");' style='text-decoration:none' >   <img src='../../odo_gen/img/odo_clips_1.gif' alt='Abrir Tela Anexo' border='0' /> </a>" + rowObject.ITEM_MEDICO ; }else{cellPrefix = rowObject.ITEM_MEDICO} return cellPrefix; }, cellattr: function (cellvalue, options, rowObject) {  {return ' title="' +rowObject.NOME_ITEM +'"';} }},                        
            {name:'COD_DENTE_REGIAO',               index:'COD_DENTE_REGIAO',               width:95,  classes: 'cAutorizacao', align:"center", frozen:true },

            {name:'IND_FACE',                       index:'IND_FACE',                       width:70,   classes: 'cAutorizacao', align:"center",frozen:true, sortable:false },
            //Hidden dos detalhes das faces
            {name:'IND_FACE_M',                     index:'IND_FACE_M',                     width:15,   classes: 'cAutorizacao', align:"center", frozen:true,  hidden:true },
            {name:'IND_FACE_OI',                    index:'IND_FACE_OI',                    width:30,   classes: 'cAutorizacao', align:"center", frozen:true,  hidden:true },                                   
            {name:'IND_FACE_D',                     index:'IND_FACE_D',                     width:15,   classes: 'cAutorizacao', align:"center", frozen:true,  hidden:true },
            {name:'IND_FACE_V',                     index:'IND_FACE_V',                     width:15,   classes: 'cAutorizacao', align:"center", frozen:true,  hidden:true },
            {name:'IND_FACE_LP',                    index:'IND_FACE_LP',                    width:30,   classes: 'cAutorizacao', align:"center", frozen:true,  hidden:true },
            //Fim Hidden dos detalhes das faces

            {name:'NOM_SITUACAO',                   index:'NOM_SITUACAO',                   width:100,  classes: 'cAutorizacao', align:"center" },
            {name:'QTD_ANEXO',                      index:'QTD_ANEXO',                      width:55,   classes: 'cAutorizacao', align:"center", hidden:true},
            {name:'DATA_AUTORIZACAO',               index:'DATA_AUTORIZACAO',               width:90,   classes: 'cAutorizacao', align:"center" },
            {name:'IND_SITUACAO',                   index:'IND_SITUACAO',                   width:60,   classes: 'cAutorizacao', align:"center" },
            {name:'COD_GLOSA_PRIORIDADE_AUT',       index:'COD_GLOSA_PRIORIDADE_AUT',       width:90,  classes: 'cAutorizacao', align:"center",formatter:function (cellvalue, options, rowObject){var cellPrefix = '';if (rowObject.COD_GLOSA_PRIORIDADE_AUT != '0'){if (rowObject.QTD_GLOSA_ANALISE_AUT > 0) {cellPrefix =  rowObject.COD_GLOSA_PRIORIDADE_AUT  + "&nbsp" + "<a href = 'javascript:AbreGlosaAutorizacao(" + rowObject.NUM_PEDIDO + "," + rowObject.COD_SITUACAO + "," + rowObject.NUM_SEQ_ITEM + ");'  style='text-decoration:none' > <img src='/odo_gen/img/odo_aviso_vermelho.gif' width='20' height='20' alt='Glosa' border = '0' /></a>";}else if (rowObject.QTD_GLOSA_ANALISADA_AUT > 0) {cellPrefix = rowObject.COD_GLOSA_PRIORIDADE_AUT  + "&nbsp" + "<a href = 'javascript:AbreGlosaAutorizacao(" + rowObject.NUM_PEDIDO + "," + rowObject.COD_SITUACAO + "," + rowObject.NUM_SEQ_ITEM + ");'  style='text-decoration:none' > <img src='/odo_gen/img/odo_aviso_amarelo.gif' width='20' height='20' alt='Glosa' border = '0' /> </a>";} else{cellPrefix = '&nbsp';} } else{cellPrefix = '&nbsp';} return cellPrefix;} },

            //PAGAMENTO
            {name:'NUM_GUIA',                       index:'NUM_GUIA',                       classes: 'cPagamento', width:50,formatter:function (cellvalue, options, rowObject){var cellPrefix = '';if (rowObject.NUM_GUIA != ''){cellPrefix = "<a href = 'javascript:AbreGuia(" + '"' + rowObject.MES_ANO_REF_PAG + '",' + rowObject.COD_TS_NR + ',' + rowObject.NUM_GRD + "," + rowObject.COD_PRESTADOR_TS + ',"' + rowObject.NUM_GUIA + '",' + rowObject.COD_TS_CONTA +");'  style='text-decoration:none' >   " +rowObject.NUM_GUIA+ " </a>";} else{cellPrefix = '&nbsp';} return cellPrefix;} },
            {name:'NOME_SITUACAO_ITEM_PGTO',        index:'NOME_SITUACAO_ITEM_PGTO',        classes: 'cPagamento', width:80 },
            {name:'MES_ANO_REF_PAG',                index:'MES_ANO_REF_PAG',                classes: 'cPagamento', width:70 },
            {name:'DAT_REALIZACAO',                 index:'DAT_REALIZACAO',                 classes: 'cPagamento', width:75,  align:"center" },                                        
            {name:'NOME_SITUACAO_PGTO',             index:'NOME_SITUACAO_PGTO',             classes: 'cPagamento', width:80 },
            {name:'COD_GLOSA_PRIORIDADE_PGTO',      index:'COD_GLOSA_PRIORIDADE_PGTO',      classes: 'cPagamento', width:90,  align:"center",formatter:function (cellvalue, options, rowObject){var cellPrefix = '';if (rowObject.COD_GLOSA_PRIORIDADE_PGTO != '0'){if (rowObject.QTD_GLOSA_ANALISE_PGTO > 0) {cellPrefix =  rowObject.COD_GLOSA_PRIORIDADE_PGTO  + "&nbsp" + "<a href = 'javascript:AbreGlosaConta("+ '"' + rowObject.MES_ANO_REF + '"' + "," + rowObject.COD_TS_NR + "," + rowObject.COD_TS_CONTA + "," + rowObject.COD_TS_ITEM +");'  style='text-decoration:none' > <img src='/odo_gen/img/odo_aviso_vermelho.gif' width='20' height='20' alt='Glosa' border = '0' /></a>";}else if (rowObject.QTD_GLOSA_ANALISADA_PGTO > 0) {cellPrefix = rowObject.COD_GLOSA_PRIORIDADE_PGTO  + "&nbsp" + "<a href = 'javascript:AbreGlosaConta(" + '"' + rowObject.MES_ANO_REF + '"' + "," + rowObject.COD_TS_NR + "," + rowObject.COD_TS_CONTA + "," + rowObject.COD_TS_ITEM +");'  style='text-decoration:none' > <img src='/odo_gen/img/odo_aviso_amarelo.gif' width='20' height='20' alt='Glosa' border = '0' /> </a>";}} else{cellPrefix = '&nbsp';} return cellPrefix;} },

            {name:'DT_PAGAMENTO',                   index:'DT_PAGAMENTO',                   classes: 'cPagamento', width:80 },
            //REVISÃO
            {name:'TEMP_GUIA',                      index:'TEMP_GUIA',                      classes: 'cRevisao', width:75 },
            {name:'IND_SITUACAO_REV',               index:'IND_SITUACAO_REV',               classes: 'cRevisao', width:135 },
            {name:'TEMP_REFERENCIA',                index:'TEMP_REFERENCIA',                classes: 'cRevisao', width:75 },
            {name:'TEMP_REALIZACAO',                index:'TEMP_REALIZACAO',                classes: 'cRevisao', width:75 },
            {name:'TEMP_SIT_ITEM',                  index:'TEMP_SIT_ITEM',                  classes: 'cRevisao', width:75 },
            {name:'COD_GLOSA_PRIORIDADE_REVISAO',   index:'COD_GLOSA_PRIORIDADE_REVISAO',   classes: 'cRevisao', width:120,  align:"center",formatter:function (cellvalue, options, rowObject){var cellPrefix = '';if (rowObject.COD_GLOSA_PRIORIDADE_REVISAO != '0'){cellPrefix = rowObject.COD_GLOSA_PRIORIDADE_REVISAO  + "&nbsp" + "<a href = 'javascript:AbreGlosaRevisao(" + rowObject.MES_ANO_REF + "," + rowObject.COD_TS_NR + "," + rowObject.COD_TS_CONTA + "," + rowObject.COD_TS_ITEM +");'  style='text-decoration:none' >   <img src='/odo_gen/img/odo_aviso_amarelo.gif' width='20' height='20' alt='Glosa' border = '0' /> </a>";} else{cellPrefix = '&nbsp';} return cellPrefix;} },
            {name:'TEMP_QTD',                       index:'TEMP_QTD',                       classes: 'cRevisao', width:75 },


            //Hidden
            {name:'NOME_PRESTADOR',                  index:'NOME_PRESTADOR',                 width:90,  hidden:true },                                               
            {name:'NOME_ITEM',                       index:'NOME_ITEM',                      width:90,  hidden:true },   
            {name:'NUM_GRD',                         index:'NUM_GRD',                        width:90,  hidden:true },                                               

            {name:'QTD_GLOSA_ANALISE_AUT',           index:'QTD_GLOSA_ANALISE_AUT',          width:90,  hidden:true },                                               
            {name:'QTD_GLOSA_ANALISADA_AUT',         index:'QTD_GLOSA_ANALISADA_AUT',        width:90,  hidden:true },                                               
            {name:'QTD_GLOSA_ANALISE_PGTO',          index:'QTD_GLOSA_ANALISE_PGTO',         width:90,  hidden:true },                                               
            {name:'QTD_GLOSA_ANALISADA_PGTO',        index:'QTD_GLOSA_ANALISADA_PGTO',       width:90,  hidden:true },                                               

            {name:'COD_SITUACAO',                    index:'COD_SITUACAO',                   width:90,  hidden:true },                                               
            {name:'NUM_SEQ_ITEM',                    index:'NUM_SEQ_ITEM',                   width:90,  hidden:true },                                               
            {name:'COD_TS_NR',                       index:'COD_TS_NR',                      width:90,  hidden:true },                                               
            {name:'COD_PRESTADOR_TS',                index:'COD_PRESTADOR_TS',               width:90,  hidden:true },                                               
            {name:'COD_TS_CONTA',                    index:'COD_TS_CONTA',                   width:90,  hidden:true },                                               
            {name:'MES_ANO_REF',                     index:'MES_ANO_REF',                    width:90,  hidden:true },                                               
            {name:'COD_TS_ITEM',                     index:'COD_TS_ITEM',                    width:90,  hidden:true },                                               



            ],                           

        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; }
        },          
        //Define que as colunas com autowidth respeite o espaçamento passado no colModel
        height: 200,
        width: 1300,
        shrinkToFit: false,
        rowNum: 50,
        gridview: true,
        loadonce: true, // Não se usa sortable junto de loadonce, pois senão dá bug no frozen 
        //sortable: true,             
        rownumbers: true,
        autoencode: true,
        rowList: [50, 100, 150],            
        recordtext: "Vendo {0} - {1} de {2}",
        viewrecords: true,
        emptyrecords: "Não foi encontrado nenhum registro",
        loadtext: "Carregando...",
        autowidth: true,
        pgtext: "Pagina {0} de {1}",
        loadError: function (xhr, st, err) { 
          alert("Erro ao carregar grid de especialidades: "+st+" -  "+ xhr.status + " "+xhr.statusText)
        },       
        pager: jQuery('#pager1'),
        cellsubmit: 'clientArray',
        sortname: 'COD_DENTE_REGIAO',
        sortorder: "asc",
        caption:"Histórico de Procedimentos"
    })

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

    jQuery("#grid1").jqGrid('setGroupHeaders', {
      useColSpanStyle: false, 
      groupHeaders:[
        {startColumnName: 'NOM_SITUACAO'    , numberOfColumns: 5, titleText: '<em>AUTORIZAÇÃO</em>'},
        {startColumnName: 'NUM_GUIA'        , numberOfColumns: 7, titleText: '<em>PAGAMENTO</em>'},
        {startColumnName: 'IND_SITUACAO_REV', numberOfColumns: 9, titleText: '<em>REVISÃO</em>'}]   
    });         

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

});
    
asked by anonymous 24.07.2014 / 12:56

1 answer

0

I found two ways to do this, I made the following logic

1st form

if (index === "NUM_PEDIDO"){
    /* posso setar valores dos campos no index para a ordeção*/
    $("#grid1").setGridParam({sortname: index, sortorder: sortOrder}).trigger('reloadGrid');                

    return 'stop';
}

2nd Form

I created another parameter in the assembly of the grid, and then in the bank I reload according to which wire selected

    
29.07.2014 / 22:56