找回密码
 立即注册

QQ登录

只需一步,快速开始

Coco_

注册会员

16

主题

41

帖子

149

积分

注册会员

积分
149
Coco_
注册会员   /  发表于:2023-4-12 17:45  /   查看:1530  /  回复:3
20金币

复现步骤如下:
1.进入官方实例:https://demo.grapecity.com.cn/sp ... types/custom/purejs

2.在代码中加入筛选功能
  1. var filter = new spreadNS.Filter.HideRowFilter(new spreadNS.Range(-1, -1, -1, -1));
  2.             sheet.rowFilter(filter);
复制代码
image.png822653198.png
3.筛选效果图如下:
image.png818030700.png
有在论坛搜索过解决方法,如加入typeName , 但是无法解决这个问题。麻烦解答一下,谢谢

最佳答案

查看完整内容

首先您要明确,希望筛选框显示的内容是什么呢?以什么样的结构来显示呢? 举个例子,您可以将这个object对象用引号前后包裹起来,使其成为一个字符串,将这个字符串作为value给自定义单元格赋值。 自定义单元格内部对字符串进行解析,去除引号获取object,再做后续的处理。 这样的话,单元格的value应是下图形式的。 上述只是给了一个思路,具体的赋值结构还是要根据您的需求来定义的,这块您可以结合产品需求设计下。

3 个回复

正序浏览
Coco_
注册会员   /  发表于:2023-4-13 16:33:16
3#
是不是可以这么理解:列绑定了Object对象筛选就会出现这种情况,并且没办法避免?那如果自定义单元格里面就是包含了多个信息,需要通过Obejct承载,如demo示例,有firstName和LastName,同时又需要对内容进行筛选,有其他的实现方案吗
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-13 12:11:19
2#
本帖最后由 Lynn.Dou 于 2023-4-13 12:12 编辑

您好,
这是因为该自定义单元格传递的value就是一个object对象,只是自定义单元格对此做了处理,通过canvas的方式进行了绘制,表现为最终的显示text值。
如下图,你可以通过setValue赋值一个object对象,会发现也是一样的。
image.png740656738.png

如果不想这样显示,那就避免赋值object对象,比如另一个五角星自定义单元格,筛选项就是true或false。
image.png503338317.png

回复 使用道具 举报
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-12 17:45:31
来自 4#
首先您要明确,希望筛选框显示的内容是什么呢?以什么样的结构来显示呢?
举个例子,您可以将这个object对象用引号前后包裹起来,使其成为一个字符串,将这个字符串作为value给自定义单元格赋值。
自定义单元格内部对字符串进行解析,去除引号获取object,再做后续的处理。
这样的话,单元格的value应是下图形式的。
image.png123507994.png

上述只是给了一个思路,具体的赋值结构还是要根据您的需求来定义的,这块您可以结合产品需求设计下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部