Fiooona 发表于 2020-5-5 15:37:57

如何一键清除所有筛选?

SpreadJS 提供了筛选框及筛选按钮的功能,您可以很方便的对一片区域添加筛选按钮,但是一个表格中在不同的列上进行了多次筛选,如何快速一键清除所有筛选呢?如下图中,我们分别对3列数据进行了筛选:

此时在界面上如果要让其恢复至原始未筛选的状态,操作起来略微有些麻烦:分别在每一列的筛选框中选择“全选”再点击确定:

现在想要实现“一键清除筛选”可以通过rowFilter.reset();接口实现,核心代码:
   _getElementById("reset").addEventListener('click',function () {
                var sheet = spread.getActiveSheet();
                var filter = sheet.rowFilter();
                filter.reset();// 重置筛选
                // sheet.rowFilter(null); // null 删除删选

            });获取到当前sheet页中的筛选,再调用reset接口,实现效果如下:

点击reset按钮,页面恢复初始状态。
如果想要一键删除筛选按钮,可以用下面的方法:
var sheet = spread.getActiveSheet();
sheet.rowFilter(null); // 删除筛选按钮使用该方法会在重置筛选按钮的同时,删除筛选按钮:

另外,想要对某一列进行重置筛选可以使用如下方法:
filter.unfilter(1);// 对某一列进行重置

页: [1]
查看完整版本: 如何一键清除所有筛选?