找回密码
 立即注册

QQ登录

只需一步,快速开始

gavinchan

注册会员

21

主题

53

帖子

168

积分

注册会员

积分
168

微信认证勋章

gavinchan
注册会员   /  发表于:2019-3-21 15:49  /   查看:9055  /  回复:7
项目中用到下拉框多选组件,微软excel可以通过VBA编程的方式来实现,下拉框多选的功能。(excel见附件)

请问spreadjs支持VBA编程吗
如果不支持的话,我又如何实现这个功能呢?

微软excel多选参考链接:
https://www.zhihu.com/question/20484204
参考图片
image.png912263183.png

工作簿2.xlsm.zip

28.42 KB, 下载次数: 281

7 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-21 17:59:49
沙发
您好,SpreadJS没有自带多选下拉框的单元格类型,但是支持您自己扩展,而且扩展方式还比较灵活,

可以自己实现,参考学习指南:

https://demo.grapecity.com.cn/SpreadJS/TutorialSample/#/demos/customCellType

也可以引入第三方控件,参考附件示例。附件示例是SpreadJS引用第三方时间控件实现的时间选择单元格。

TimeSelectionWidget.html

3.37 KB, 下载次数: 215

回复 使用道具 举报
gavinchan
注册会员   /  发表于:2019-3-21 21:14:38
板凳
image.png976041564.png

你好,我看了下实现日期选择器的代码对图片中红框的内容不太明白

红色箭头指向的      document.createElement("input")     是为了datepicker创建一个input标签,
然后配合红框中的  gcUIElement   gcEditingInput,一起使用。

问题:
1. 这里面   gcUIElement   gcEditingInput   的主要作用是做什么,有没有文档和api说明?
2. 我找到的开源插件都是<select>标签,又怎么和spreadjs的一个单元格(datepicker的子是input标签)结合呢?

开源插件参考:
1. https://www.jianshu.com/p/91cd164486e6
2. https://www.cnblogs.com/xinchuang/archive/2013/05/24/3096757.html
回复 使用道具 举报
gavinchan
注册会员   /  发表于:2019-3-21 23:33:41
地板
我尝试在单元格内部嵌入multiSelect的多选插件
附件中包含两个文件,一个是multiSelect的例子,另一个是我根据您提供的“日期选择器”单元格修改的demo

目前multiSelect是不生效的,核心修改内容见下图:
image.png679144286.png


请问是我哪里使用错了吗?

定制个性化的cellType应该注意些什么内容?

Datepicker (1)的副本.zip

664.71 KB, 下载次数: 277

select-pure-master的副本.zip

8.56 KB, 下载次数: 275

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-3-22 09:42:09
5#
您好,我需要一点时间调研一下,可能需要制作一个Demo,最迟周一结束前给您回复。
回复 使用道具 举报
gavinchan
注册会员   /  发表于:2019-3-29 10:51:47
6#
这个组件调研的怎样了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-29 16:39:35
7#
您这个demo中注册多选组件的逻辑在哪里呢?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-29 16:42:27
8#
另外建议用新版本V12的来做,V8版本很老了,很多功能都没有,并且接口的调用方式有过改动。
V12的时间选择参考:
https://runjs.cn/code/zztmdt54
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部