evento sobre a seleção de colunas em jqGrid
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.
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 ...
}
}