Pergunta

Existe um evento em jqGrid quando um usuário usa o diálogo de coluna para adicionar ou remover colunas. Se não, há uma outra maneira de controlar a mudança coluna. Eu preciso disso para persistir colunas selecionadas quando eu mostrar a grade em páginas diferentes.

Foi útil?

Solução

Welllll .... Você está mostrando o diálogo mesmo, certo? Então, você já está em seu próprio código?

Eu estou supondo que o que você realmente quer dizer é "quando o usuário clica em 'Enviar'?" Se assim for, olhada afterSubmitForm .

Outras dicas

Eu acho que ele significa a coluna de diálogo mudança do jqGrid 3,6 demonstração.

Atualmente, não há um evento para isso, mas ainda pode haver uma maneira. Grade método columnChooser aceita a seguinte opção na fonte jqGrid:

"done" : function(perm) { if (perm) self.jqGrid("remapColumns", perm, true) },

Tente fornecer sua própria versão da função (veja a página de demonstração para onde a chamada este):

jQuery("#colch").jqGrid('columnChooser', {
   "done" : function(perm) { 
       if (perm) {
          jQuery("#colch").jqGrid("remapColumns", perm, true) 

          ( ... your code here ... )
       }
   }
});

Assumindo que isso funciona, você poderia usar o seguinte código para descobrir quais colunas estão ocultas:

var colModel = $("#mygrid").getGridParam("colModel");
for (var i = 0; i < colModel.length; i++){
    if (colModel[i].hidden) { 

        ... store away colModel.name somewhere ... 

    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top