找回密码
 立即注册

QQ登录

只需一步,快速开始

Fiooona
论坛元老   /  发表于:2020-5-5 15:37  /   查看:2867  /  回复:0
SpreadJS 提供了筛选框及筛选按钮的功能,您可以很方便的对一片区域添加筛选按钮,但是一个表格中在不同的列上进行了多次筛选,如何快速一键清除所有筛选呢?如下图中,我们分别对3列数据进行了筛选: image.png765400695.png

此时在界面上如果要让其恢复至原始未筛选的状态,操作起来略微有些麻烦:分别在每一列的筛选框中选择“全选”再点击确定:
image.png382730407.png
现在想要实现“一键清除筛选”可以通过rowFilter.reset();接口实现,核心代码:
  1.    _getElementById("reset").addEventListener('click',function () {
  2.                 var sheet = spread.getActiveSheet();
  3.                 var filter = sheet.rowFilter();
  4.                 filter.reset();  // 重置筛选
  5.                 // sheet.rowFilter(null); // null 删除删选

  6.             });
复制代码
获取到当前sheet页中的筛选,再调用reset接口,实现效果如下:
image.png192150572.png
点击reset按钮,页面恢复初始状态。
如果想要一键删除筛选按钮,可以用下面的方法:
  1. var sheet = spread.getActiveSheet();
  2. sheet.rowFilter(null); // 删除筛选按钮
复制代码
使用该方法会在重置筛选按钮的同时,删除筛选按钮:
image.png827033996.png
另外,想要对某一列进行重置筛选可以使用如下方法:
  1. filter.unfilter(1);// 对某一列进行重置
复制代码


features_filters_filter-dialog_JavaScript.zip

3.45 KB, 下载次数: 22

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部