Replies
Yes, exactly, the grid reloads with all data. Here is my code, I'm using a drop down list instead of a button:
function FilterBuySelectedGrid(GridID, ddlID) {
var grid = $find(GridID);
var ddl = document.getElementById(ddlID);
var index;
var columnKey;
if (ddl) {
index = ddl.options[ddl.selectedIndex].value;
switch (index) {
case "InStock":
columnKey = "O_Stock";
break;
default:
columnKey = "HasConflict";
break;
}
}
if (grid && ddl) {
var columnFilter = grid.get_behaviors().get_filtering().create_columnFilter(columnKey);
if (columnFilter) {
var condition = columnFilter.get_condition();
switch (index) {
case "All":
grid.get_behaviors().get_filtering().clearColumnFilters();
break;
case "InStock":
grid.get_behaviors().get_filtering().clearColumnFilters();
condition.set_rule($IG.NumericFilterRules.GreaterThan);
condition.set_value(0);
break;
case "Exact":
grid.get_behaviors().get_filtering().clearColumnFilters();
condition.set_rule($IG.BooleanFilterRules.False);
break;
case "Conflicts":
grid.get_behaviors().get_filtering().clearColumnFilters();
condition.set_rule($IG.BooleanFilterRules.True);
break;
}
// Create an array for the two filters
var columnFilters = new Array(columnFilter);
// Add array of filters
grid.get_behaviors().get_filtering().add_columnFilterRange(columnFilters);
// Call apply filter
grid.get_behaviors().get_filtering().applyFilters();
}
}
}
Yes, I know you have to get the grid first. What I meant was I'm stepping through the 'clearColumnFilters()' method below, and and the filters are not being removed.
grid.get_behaviors().get_filtering().clearColumnFilters()
I'm stepping through your code and this._columnFilters.length is greater than 0 even after all of the code in this function runs. Please help.
/// <summary>
/// Deletes all column filter from the column filters array
/// </summary>
clearColumnFilters: function()
{
if (this._columnFilters.length > 0)
{
var eventArgs = new $IG.ColumnFilterAddingRemovingEventArgs(this);
this._grid._actionList.add_transaction(new $IG.FilteringAction("ClearColumnFilters", this.get_name(), this._grid, null, null));
this._grid._raiseClientEventEnd(eventArgs);
}
},