jQWidgets Forums
jQuery UI Widgets › Forums › Grid › issue using 'Clear' button in filter drop down while applying cascade filtering
This topic contains 1 reply, has 2 voices, and was last updated by Dimitar 9 years, 7 months ago.
-
Author
-
October 27, 2015 at 5:30 am issue using 'Clear' button in filter drop down while applying cascade filtering #77353
Hi,
In the cascade filtering, i have done the following code:-
$(“#grid”).on(‘filter’, function (){
var filterGroups = $(“#grid”).jqxGrid(‘getfilterinformation’);
var rows = $(‘#grid’).jqxGrid(‘getrows’);var filterGroup = filterGroups[filterGroups.length-1];
if(filterGroup == undefined){$(‘#grid’).jqxGrid(‘removefilter’, filter_column, true);
rows = $(‘#grid’).jqxGrid(‘getrows’);var items = [];
for(var i = 0; i < rows.length; i++)
{
var row = rows[i];
var dataFieldName = filter_column;
if(items != null){
var flag=1;
for(var m = 0; m < items.length; m++)
{
if(items[m] == row[dataFieldName]){ flag=0; break;}
}
}
if(flag == 1){
items.push(row[dataFieldName]);
}
}$(“#grid”).jqxGrid(‘setcolumnproperty’, filter_column, ‘filteritems’, items);
}else{
if(filterGroup != null){
filter_column = filterGroup.filtercolumn;
alert(‘filter_column:’ + filter_column);for (var j = 0; j < dataFieldsOfGrid.length; j++) {
var items = [];
if(filter_column == dataFieldsOfGrid[j].name){
continue;
}
for(var i = 0; i < rows.length; i++)
{
var row = rows[i];
var dataFieldName = dataFieldsOfGrid[j].name;
if(items != null){
var flag=1;
for(var m = 0; m < items.length; m++)
{
if(items[m] == row[dataFieldName]){ flag=0; break;}
}
}
if(flag == 1){
items.push(row[dataFieldName]);
}
}$(“#grid”).jqxGrid(‘setcolumnproperty’, dataFieldsOfGrid[j].name, ‘filteritems’, items);
}
}
}
});
The code is working fine for cascade filtering (on suppose 4-5 columns). But filteritems in filter checkedlist may not remain correct if we clear filters from the filter dropdown by clciking on clear button(there are 2 buttond Filter and Clear in filter dropdown).
The column JSON is given below for my grid:-
{“text”:”Invest Style”,”pinned”:false,”hidden”:false,”width”:112,”filtertype”:”checkedlist”,”datafield”:”Invest_Style”},
{“text”:”Market Seg”,”pinned”:false,”hidden”:false,”width”:110,”filtertype”:”checkedlist”,”datafield”:”Market_Seg”},
{“text”:”Portfolio Code”,”pinned”:false,”hidden”:false,”width”:114,”filtertype”:”checkedlist”,”datafield”:”Portfolio_Code”},
{“text”:”Sri”,”pinned”:false,”hidden”:false,”width”:103,”filtertype”:”checkedlist”,”datafield”:”Sri”},
{“text”:”Style Category”,”pinned”:false,”hidden”:false,”width”:114,”filtertype”:”checkedlist”,”datafield”:”Style_Category”},
{“text”:”Tax Status”,”pinned”:false,”hidden”:false,”width”:110,”filtertype”:”checkedlist”,”datafield”:”Tax_Status”},and other data related grid is :-
$(“#grid”).jqxGrid(
{
theme: ‘energyblue’,
width: 98 + ‘%’,
height: 250,
filterable: true,
// sortable: true,
source: dataAdapter,
selectionmode: ‘multiplecellsadvanced’,
columnsresize: true,
columns: columnsOfGrid
}I have also called ‘clearFilters’, but my problem is not resolved. Problem is, if we clear all the filters one by one, when last filter is cleared,
the other columns, on which filter has not applied , filter items are not reset properly for them.. Is there any option to reset filter items?And, if i reset all the column’s filter items. Javascript error is thrown:-
Uncaught RangeError: Maximum call stack size exceeded
Please provide the solution ASAP.
Thanks,
NehaOctober 27, 2015 at 8:38 am issue using 'Clear' button in filter drop down while applying cascade filtering #77364 -
AuthorPosts
You must be logged in to reply to this topic.