Jquery Slickgrid电子表格插件清除所有过滤器

Jquery Slickgrid电子表格插件清除所有过滤器,jquery,slickgrid,Jquery,Slickgrid,我有一个带过滤插件的slickgrid: 这是每个列的明确方法: $('<button>Clear</button>') .appendTo($menu) .bind('click', function (ec) { //alert(JSON.stringify(columnDef)); // console.log($menuButton.d

我有一个带过滤插件的slickgrid:

这是每个列的明确方法:

        $('<button>Clear</button>')
            .appendTo($menu)
            .bind('click', function (ec) {
                //alert(JSON.stringify(columnDef));
                // console.log($menuButton.data("column"));
                // alert($menuButton.data("column").id);
                columnDef.filterValues.length = 0;
                setButtonImage($menuButton, false);
                handleApply(ec, columnDef);
            });

我假设我需要在列中循环并0出FilterValue,但我一辈子都不知道该怎么做。

我就是这样做的,你需要重置列,因为这是存储文件值的地方

var clearcolumns = grid.getColumns();
for (var i = 0; i < clearcolumns.length; i++) {
if (clearcolumns[i].filterValues !== undefined) {
    delete clearcolumns[i].filterValues;
}
}
grid.setColumns(clearcolumns);
dataView.refresh();
grid.render();enter code here
var clearcolumns=grid.getColumns();
对于(var i=0;i
非常整洁谢谢Michael。它还将过滤器图标更改回默认箭头,这很好。
var clearcolumns = grid.getColumns();
for (var i = 0; i < clearcolumns.length; i++) {
if (clearcolumns[i].filterValues !== undefined) {
    delete clearcolumns[i].filterValues;
}
}
grid.setColumns(clearcolumns);
dataView.refresh();
grid.render();enter code here