找回密码
 立即注册

QQ登录

只需一步,快速开始

Derrick.Jiao 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-10-10 11:51  /   查看:4009  /  回复:7
背景:众所周知,原生的SpreadJS可以实现下拉选择单元格。但是有小伙伴想实现树形下拉选择单元格,那么可以实现吗?答案是可以的。SpreadJS的良好的可拓展性给用户带来了这种可能。
本教程利用了SpreadJS的自定义单元格与jQuery的zTree插件实现树形下拉菜单。代码思路来源于以下教程集锦,由于原链接的版本为v8,目前最新版本为v13,版本之间存在差异以及部分接口的变更。因此对原来的代码做了部分修改,作为新版本的教程。
https://gcdn.grapecity.com.cn/showtopic-18675-1-1.html

效果截图:

image.png238315123.png

修改新版本的资源后,插件无法弹出,通过以下代码修改其样式即可
  1. editorContext.parentNode.parentNode.style.overflow = "visible";
  2.             var t = cellRect.y + cellRect.height + 8;
  3.             editorContext.parentNode.parentNode.style.top = t + "px";
  4.             editorContext.parentNode.parentNode.style.border = "none";
复制代码


下载附件可查看完整demo。

ComboTree.zip

893.2 KB, 下载次数: 131

7 个回复

倒序浏览
梅梅梅梅
中级会员   /  发表于:2023-1-10 16:42:58
沙发
设计器添加了下拉树组件,但是有个方法总是报错是怎么回事呢?
image.png379195556.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2023-1-10 17:57:33
板凳
梅梅梅梅 发表于 2023-1-10 16:42
设计器添加了下拉树组件,但是有个方法总是报错是怎么回事呢?

观察到您新开了一个帖子,后续将在此贴中进行回复。
https://gcdn.grapecity.com.cn/fo ... read&tid=160111
回复 使用道具 举报
Prin
注册会员   /  发表于:2023-7-6 15:10:15
地板
您好,套用您这个demo实现了下拉框,但是<div gcUIElement="ComboTree">这一层在下拉的时候总会被赋予一个属性contenteditable="true",请问有没有什么方法可以阻止spread给这个元素赋予这个属性?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-6 15:35:30
6#
Prin 发表于 2023-7-6 15:10
您好,套用您这个demo实现了下拉框,但是这一层在下拉的时候总会被赋予一个属性contenteditable="true",请 ...

您好,我这边没有发现您说的被赋予contenteditable="true"属性的情况,如下图:

image.png764373473.png

你为什么不想让spread给这个元素赋予这个属性呢?


另外由于本帖时间较远,请您新开一个帖子将您的问题详细描述一下,我们这边帮您调查解决。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Prin
注册会员   /  发表于:2023-7-7 08:28:02
7#
在这个例子里我确实没有复现赋予contenteditable="true" ,后面我再检查检查我自己的代码。
还有另一个问题,我在这个zTree初始化后想根据id获取这个树的对象,为什么获取不到,是因为初始化时机还是什么问题呢,请帮我看看,谢谢~

image.png764161987.png
回复 使用道具 举报
Prin
注册会员   /  发表于:2023-7-7 10:57:08
8#
image.png898758239.png
这样能查到树,但是不太对吧?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-7 12:14:52
9#
Prin 发表于 2023-7-7 10:57
这样能查到树,但是不太对吧?

您好,请参考这个帖子中的内容,推测是ZTree版本的问题。

https://gcdn.grapecity.com.cn/fo ... read&tid=160111
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部