Slickgrid 电子表格插件清除所有过滤器
Slickgrid spreadsheet plugin clear all filters
我有一个带有这个过滤插件的 slickgrid:
https://github.com/danny-sg/slickgrid-spreadsheet-plugins/blob/master/ext.headerfilter.js
这是每列的清除方法:
$('<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);
});
我想在页面上制作一个按钮,用于清除所有过滤器并重置按钮图像。我已经走到这一步了,但还是卡住了:
$("#clearallfilters, #clearallfilters-sm").click(function () {
for (var filcolumn in grid.getColumns()) {
filcolumn.filterValues.length = 0;
//then change all pictures
}
})
我假设我需要遍历列并将 filterValues 清零,但我这辈子都不知道该怎么做。
我这样做你需要重置列,因为那是存储文件值的地方
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
我有一个带有这个过滤插件的 slickgrid:
https://github.com/danny-sg/slickgrid-spreadsheet-plugins/blob/master/ext.headerfilter.js
这是每列的清除方法:
$('<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);
});
我想在页面上制作一个按钮,用于清除所有过滤器并重置按钮图像。我已经走到这一步了,但还是卡住了:
$("#clearallfilters, #clearallfilters-sm").click(function () {
for (var filcolumn in grid.getColumns()) {
filcolumn.filterValues.length = 0;
//then change all pictures
}
})
我假设我需要遍历列并将 filterValues 清零,但我这辈子都不知道该怎么做。
我这样做你需要重置列,因为那是存储文件值的地方
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