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.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author

  • neha
    Participant

    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,
    Neha


    Dimitar
    Participant
Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.