找回密码
 立即注册

QQ登录

只需一步,快速开始

eyAndrew

金牌服务用户

72

主题

314

帖子

912

积分

金牌服务用户

积分
912
eyAndrew
金牌服务用户   /  发表于:2022-11-21 11:35  /   查看:1287  /  回复:8

动画.gif

1: 怎么监听table筛选事件?
2: 怎么获取筛选后的二维表数据?

筛选后,拿到的table Range还是 全部数据的,怎么过滤?

8 个回复

倒序浏览
xcymoo
超级版主   /  发表于:2022-11-21 12:15:40
沙发
你好 可以考虑使用getRowVisible方法,来判断一行是不是被筛选了
https://demo.grapecity.com.cn/sp ... sheet#getrowvisible
回复 使用道具 举报
xcymoo
超级版主   /  发表于:2022-11-21 14:09:15
板凳
表格筛选监听:
https://demo.grapecity.com.cn/sp ... vents#tablefiltered

这个筛选数据确实是需要我们写代码逻辑去获取的,没有提供更简单的api
回复 使用道具 举报
xcymoo
超级版主   /  发表于:2022-11-21 14:11:00
地板
不好意思 不小心把您的回复删除了
回复 使用道具 举报
eyAndrew
金牌服务用户   /  发表于:2022-11-21 15:19:13
6#
本帖最后由 Ellia.Duan 于 2022-11-24 10:09 编辑

image.png490346984.png
哈哈, 没事,再请教个问题, 怎么获取表头内的所有数据? 然后怎么通过代码驱动表头的筛选?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-21 18:52:16
7#
eyAndrew 发表于 2022-11-21 15:19
哈哈, 没事,再请教个问题, 怎么获取表头内的所有数据? 然后怎么通过代码驱动 表投的筛选?

这边调研下,有结果贴中回复您。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-23 11:49:51
8#
问题1:获取表头内的所有数据其实就是获取table区域的数据,可以使用getArray方法。
示例如下:
  1. var table = sheet.tables.all()[0];
  2. var range = table.range();
  3. sheet.getArray(range.row, range.col, range.rowCount, range.colCount);
复制代码
image.png321187743.png

问题2:参考这篇帖子方案:
https://gcdn.grapecity.com.cn/showtopic-98236-1-49.html

回复 使用道具 举报
eyAndrew
金牌服务用户   /  发表于:2022-11-23 11:55:55
9#
Lynn.Dou 发表于 2022-11-23 11:49
问题1:获取表头内的所有数据其实就是获取table区域的数据,可以使用getArray方法。
示例如下:

getArray是获取二维表,这样做 还是得自己去遍历,拿二维表的第几列的数据, 没有api直接拿到某个表头的数据么?
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-23 12:16:17
10#
eyAndrew 发表于 2022-11-23 11:55
getArray是获取二维表,这样做 还是得自己去遍历,拿二维表的第几列的数据, 没有api直接拿到某个表头的 ...

table的rowFilter是应用在整个table区域的,没有接口可以直接获取某列的筛选区域内容。
您可以参考上述代码,根据需要的列index在getArray中传参获取。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部