SpreadJS自定义单元格实现树形下拉菜单
背景:众所周知,原生的SpreadJS可以实现下拉选择单元格。但是有小伙伴想实现树形下拉选择单元格,那么可以实现吗?答案是可以的。SpreadJS的良好的可拓展性给用户带来了这种可能。本教程利用了SpreadJS的自定义单元格与jQuery的zTree插件实现树形下拉菜单。代码思路来源于以下教程集锦,由于原链接的版本为v8,目前最新版本为v13,版本之间存在差异以及部分接口的变更。因此对原来的代码做了部分修改,作为新版本的教程。
https://gcdn.grapecity.com.cn/showtopic-18675-1-1.html
效果截图:
修改新版本的资源后,插件无法弹出,通过以下代码修改其样式即可
editorContext.parentNode.parentNode.style.overflow = "visible";
var t = cellRect.y + cellRect.height + 8;
editorContext.parentNode.parentNode.style.top = t + "px";
editorContext.parentNode.parentNode.style.border = "none";
下载附件可查看完整demo。
设计器添加了下拉树组件,但是有个方法总是报错是怎么回事呢?
梅梅梅梅 发表于 2023-1-10 16:42
设计器添加了下拉树组件,但是有个方法总是报错是怎么回事呢?
观察到您新开了一个帖子,后续将在此贴中进行回复。
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=160111 您好,套用您这个demo实现了下拉框,但是<div gcUIElement="ComboTree">这一层在下拉的时候总会被赋予一个属性contenteditable="true",请问有没有什么方法可以阻止spread给这个元素赋予这个属性?{:5_106:} Prin 发表于 2023-7-6 15:10
您好,套用您这个demo实现了下拉框,但是这一层在下拉的时候总会被赋予一个属性contenteditable="true",请 ...
您好,我这边没有发现您说的被赋予contenteditable="true"属性的情况,如下图:
你为什么不想让spread给这个元素赋予这个属性呢?
另外由于本帖时间较远,请您新开一个帖子将您的问题详细描述一下,我们这边帮您调查解决。
在这个例子里我确实没有复现赋予contenteditable="true":( ,后面我再检查检查我自己的代码。
还有另一个问题,我在这个zTree初始化后想根据id获取这个树的对象,为什么获取不到,是因为初始化时机还是什么问题呢,请帮我看看,谢谢~:dizzy:
这样能查到树,但是不太对吧? Prin 发表于 2023-7-7 10:57
这样能查到树,但是不太对吧?
您好,请参考这个帖子中的内容,推测是ZTree版本的问题。
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=160111
页:
[1]