找回密码
 立即注册

QQ登录

只需一步,快速开始

Web123.0

注册会员

4

主题

14

帖子

50

积分

注册会员

积分
50
Web123.0
注册会员   /  发表于:2022-10-19 14:48  /   查看:975  /  回复:4
1金币
本帖最后由 Web123.0 于 2022-10-19 14:50 编辑

技术栈:
- Vue v2.x
- SpreadJS v15.2.2




根据SpreadJS进行二次开发,业务人员在使用Excel功能时,需要用列表(单元格下拉框)或组合(单元格类型)对Excel中展示的数据进行筛选。即是筛选,那么就存在选择多个选项的情况。


经过代码实践和查阅API资料之后,得出以下结论:


1、使用ComboBox生成的组合列表,可以控制展示个数(maxDropDownItems),可自适应出现滚动条,可选择Excel展示的内容,但是不可进行多选操作,不可控制展示样式。


2、使用DropDownType生成的下拉列表,可通过字段(multiSelect)切换单选和多选,可控制展示样式,可设置回调函数,但是不可控制Excel展示的内容,不可以控制展示个数,不会自适应出现滚动条,内容过长时直接被隐藏。


业务需求:
需要一个功能以下拉列表展示,同时可以控制展示样式、能够适应内容过长出现滚动条和可多选的列表功能。


以上列出的两点均不能完全实现。因此,需要各位大佬提供一个实现的思路。







最佳答案

查看完整内容

您好,根据您描述的需求 ”对Excel中展示的数据进行筛选“, spread.js原生提供了筛选的功能, 如下图: 即请参考此文档: https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#rowfilter 请问为什么想要通过下拉列表来多选显示呢?可以结合业务背景详细描述下您的需求吗? 另,附件为筛选示例demo,您可以参考一下

4 个回复

倒序浏览
最佳答案
最佳答案
xcymoo
超级版主   /  发表于:2022-10-19 14:48:28
来自 2#
本帖最后由 Lynn.Dou 于 2022-10-19 18:09 编辑

您好,根据您描述的需求 ”对Excel中展示的数据进行筛选“, spread.js原生提供了筛选的功能,
如下图:
image.png487899779.png

即请参考此文档:
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#rowfilter
请问为什么想要通过下拉列表来多选显示呢?可以结合业务背景详细描述下您的需求吗?

另,附件为筛选示例demo,您可以参考一下



筛选.zip

1.36 MB, 下载次数: 29

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-19 18:09:42
3#
回复 使用道具 举报
Web123.0
注册会员   /  发表于:2022-10-20 15:13:59
4#
xcymoo 发表于 2022-10-19 17:33
您好,根据您描述的需求 ”对Excel中展示的数据进行筛选“, spread.js原生提供了筛选的功能,
如下图:
...

非常感谢,一直纠结与业务的需求,都忘记还有这种做法了。不过这种形式,需要根业务方点头确认才行。
至于为什么?目前基于SPreadJS二次开发的功能,在展示效果上,会存在时间选择器,下拉列表等等多种控件。业务方利用这些控件,修改选项并把选项参数交给后台,由后台根据选项参数查找数据,再用GcExcel生成一份ssjson返回给前端渲染,视觉上达到一种实时查询数据并渲染为Excel的效果。
以上就是业务的需求,恰好别人说可以做,恰好这个功能落到了我这里
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-20 18:11:39
5#
您可以先评估下筛选是否满足您的需求。目前从问题描述来看,SJS没有同时满足上述条件的下拉列表功能。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部