找回密码
 立即注册

QQ登录

只需一步,快速开始

EX_040537700

注册会员

21

主题

63

帖子

182

积分

注册会员

积分
182

[已处理] 关于筛选问题

EX_040537700
注册会员   /  发表于:2020-12-29 17:44  /   查看:2693  /  回复:5
筛选的时候会隐藏一些行  然后选中红色区域,取消选中后发现选中的区域包括了不是红色的区域,怎么才能当选中红色区域时只选中红色区域?如果可以实现请给个demo
微信截图_20201229174012.png
微信截图_20201229173706.png
微信截图_20201229173623.png

5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-29 18:15:41
沙发
您好,您可以监听RangeFilterCleared事件
  1. sheet.bind(GC.Spread.Sheets.Events.RangeFilterCleared, function (e, info) {
  2.         sheet.addSelection(1,0,1,1);
  3. });
复制代码

取消筛选后,通过addSelection将您需要的单元格进行选择

回复 使用道具 举报
EX_040537700
注册会员   /  发表于:2020-12-30 09:46:27
板凳
如果在不取消筛选的情况下我能够获取到那3个红色区域的部分么
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-30 10:20:44
地板
EX_040537700 发表于 2020-12-30 09:46
如果在不取消筛选的情况下我能够获取到那3个红色区域的部分么

您可以用isRowFilteredOut(row)遍历筛选的区域,拿到筛选后的行索引,这些行索引也就是红色区域的行索引
回复 使用道具 举报
EX_040537700
注册会员   /  发表于:2020-12-30 11:05:57
5#
请问如何判断整个表格是否已经被筛选?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-30 12:02:48
6#
您如果要获取被筛选的行可以用isRowFilteredOut(row)遍历判断。

如果您想要判断表格是否被筛选可以用RangeFiltered事件进行监听,表单筛选后会触发此事件。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部