To achieve this objective, we have to make the reload of the grid with the new filters... manually...
Now, to filter we need to add/alter the postdata.filters.rules object of the grid. With the search I made, I came up with this function that, perhaps, can help someone...
function OnChangeGridSelect (fieldName, searchText) {
var filterObj = {"field":fieldName,"op":"eq","data":searchText};
var grid = jQuery("#GridID");
var postdata = grid.jqGrid('getGridParam', 'postData');
if(postdata != undefined
&& postdata.filters != undefined
&& postdata.filters.rules != undefined)
{
//Remove if current field exists
postdata.filters.rules = $.grep(postdata.filters.rules, function(value) {
if(value.field != fieldName)
return value;
});
//Add new filter
postdata.filters.rules.push(filterObj);
}
else
{
$.extend(postdata, {
filters: {
"groupOp":"AND",
"rules":[ filterObj ]
}
});
}
grid.jqGrid('setGridParam', { search: true, postData: postdata });
grid.trigger("reloadGrid", [{ page: 1}]);
}
explaining the parameters of the above function:
- fieldName is the internal name of the collumn we want to filter with
- searchText is the text from you want to filter the grid.
In my example, the function is called inside combos's events with the necessary parameters.
Approximate result...
If you don not know the jqgrid here are a couple of links to get into:
http://trirand.com/blog/jqgrid/jqgrid.html
http://www.trirand.com/jqgridwiki/doku.php
Cheers
References:
http://stackoverflow.com/questions/4492963/jqgrid-client-side-searching
http://stackoverflow.com/questions/5749723/jqgrid-filtering-records
http://www.codeproject.com/Articles/58357/Using-jqGrid-s-search-toolbar-with-multiple-filter#pre4
http://stackoverflow.com/questions/2674471/add-own-search-parameter-in-jqgrid-in-asp-net-mvc#answer-2679599