Tornar a seleção multisselectada do jqGrid persistente após paginação, pesquisa de barra de ferramentas ou filtro
eu tenho istojqGrid. O seguinte é o meu comportamento desejado:
O item selecionado terá a seleção persistente (e será renderizada como tal ao usuário) após a troca de páginas ou a busca (barra de ferramentas ou filtro)Quando o botão Selecionar tudo estiver selecionado, se nenhum item da página atual for selecionado, ele selecionará todos eles. Se houver um item já selecionado, ele limpará toda a lista, seja na página ou não.
Quando o botão Imprimir fatura for clicado, ele usará a lista de IDs criados à medida que formos criados ou criará uma lista de todos os IDS que foram selecionados, seja na exibição atual ou não.
Seria aceitável se o filtro não fosse suportado, mas preferível.
Para ter certeza, eu sei pouco sobre js, mas aqui estão algumas coisas que tentei com sucesso:
esteresponda sugere usar o onSelectRow e onSelectAll, mas não consegui implementar.ver falha
este parece promissor, mas só vai consertar a coisa de paginação. Portanto, o nº 1 parece um caminho preferido.pastebin para a questão # 2
P.S. de volta para o saber pouco sobre js. no meu projeto a funcionalidade de alerta e não mostrada da função select_ids funciona, não tenho certeza porque ela não está exibindo o alerta no jsfiddle. tão desculpe antecipadamente que precisa de reparo, aponta brownie para no entanto coloca a correção bifurcada.
grid.jqGrid({
datatype: "local",
data: mydata,
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id', key: true, width:70, sorttype:"int"},
{name:'invdate',index:'invdate', width:90, sorttype:"date"},
{name:'name',index:'name', width:100},
{name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
{name:'tax',index:'tax', width:80, align:"right",sorttype:"float"},
{name:'total',index:'total', width:80,align:"right",sorttype:"float"},
{name:'note',index:'note', width:150, sortable:false}
],
search:true,
pager:'#pager',
jsonReader: {cell:""},
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'id',
sortorder: 'asc',
viewrecords: true,
multiSort: true,
multiselect: true,
height: "100%",
caption: "Invoice Print"
});
grid.jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:true,refresh:true},
{},{},{},{multipleSearch:true, multipleGroup:true, showQuery: true});
grid.jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false, defaultSearch:"cn"});