En tota aplicació web, normalment el seu conjunt de dades creix amb el temps i és necessari buscar la informació sobre la que volem treballar. Per fer-ho es restringeixen les dades aplicant un criteri. Un criteri pot ser peticions d'un municipi, factures d'un client, en un interval de temps, un número d'expedient...
Per aquesta raó a la part superior del grid que mostra tots els registres acostumo a posar un filtre, que permet introduir els valors del criteri que es vol fer servir per restringir els registres del grid. El HTML corresponent a aquest formulari de filtrat és molt senzill. Aleshores l'única part que revesteix alguna dificultat és recollir els paràmetres i enviar-los al ASHX corresponent. El ASHX invocarà al LoadGrid, clsDades QUERY i finalment a la stored procedure QUERY.
Per recollir els paràmetres faig servir una funció Javascript Filtrar (nom molt original). Aquesta funció un cop té els valors dels criteris els posa a la URL que carrega el grid i invoca al mètode del grid trigger reloadGrid. Això últim fa que el grid actualitzi els seus valors amb els nous criteris aplicats. Com sempre el codi:
function Filtrar() {
var FK_Arxiu = $("#frmFiltre #FK_Arxiu").val();
var FK_LlocDiposit = $("#frmFiltre #FK_LlocDiposit").val();
var SigTop = $("#frmFiltre #SigTop").val();
var Capsa = $("#frmFiltre #Capsa").val();
var Inutilitzada = $("input[name=lInutilitzada]:checked").val();
var FK_CapsaNULL = $("input[name=lFK_CapsaNULL]:checked").val();
var URL = 'sigtop.ashx?action=loadgrid&FK_Arxiu=' + FK_Arxiu + '&Capsa=' + Capsa;
URL += '&FK_LlocDiposit=' + FK_LlocDiposit + '&SigTop=' + SigTop;
URL += '&lInutilitzada=' + Inutilitzada + '&lFK_CapsaNULL=' + FK_CapsaNULL;
jQuery("#grdSigTop").jqGrid('setGridParam', { url: URL, page: 1 }).trigger("reloadGrid");
}
L'únic a destacar d'aquest exemple és com recuperar el valor de checkboxes amb jQuery. |