找回密码
 立即注册

QQ登录

只需一步,快速开始

super825

初级会员

11

主题

33

帖子

271

积分

初级会员

积分
271

微信认证勋章

QQ
super825
初级会员   /  发表于:2017-8-14 22:19  /   查看:6028  /  回复:10
本帖最后由 super825 于 2017-8-14 22:19 编辑

spread.sheet表格里需要显示一个操作列,操作列里面有多个按钮,显示格式为:
       复制 | 删除
   移动到 | 收藏
        添加配置


有没有实现示例参考下,鼠标移到文字上要显示为手形,点击要响应事件

10 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-15 11:29:18
沙发
您好,操作列能否放置在表格外面呢?这样是最容易实现了。
如果放置在表格里面,是需要1个单元格来呈现还是多个?
回复 使用道具 举报
super825
初级会员   /  发表于:2017-8-15 11:42:38
板凳
操作列每个单元格都要展示,而且每个单元格里的按钮会不同
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-15 17:27:16
地板
您好,这个功能可以使用浮动对象来完成,浮动对象中是可以使用html语法的,您直接通过html语法构建一个操作列就可以了,而且浮动对象是可以根据滚动条的滚动进行相应的移动的。
浮动对象的相关文档您可以参考:
http://demo.gcpowertools.com.cn/ ... basicFloatingObject
回复 使用道具 举报
super825
初级会员   /  发表于:2017-8-16 23:22:44
25#
这个方法可以,但是浮动对象可以用鼠标拖到其他地方,怎么不让用户拖动它
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-17 17:32:16
26#
super825 发表于 2017-8-16 23:22
这个方法可以,但是浮动对象可以用鼠标拖到其他地方,怎么不让用户拖动它

您好,浮动对象可以使用islocked的方法禁止用户拖拽它,不过需要先将表单锁定,文档参考:
http://demo.gcpowertools.com.cn/ ... omizeFloatingObject
如果您有需要用户编辑的单元格,您可以将单元格的locked状态改为false.
希望能够帮到您
回复 使用道具 举报
super825
初级会员   /  发表于:2017-8-17 23:21:52
27#
加锁后,鼠标不能拖动了,但是鼠标移上去显示移动图标,看样式有cursor:move设置, 这个怎么去掉?
回复 使用道具 举报
super825
初级会员   /  发表于:2017-8-17 23:29:29
28#
http://demo.gcpowertools.com.cn/ ... basicFloatingObject
浮动对象元素基本应用

customFloatingObject.startRow(1);
customFloatingObject.startColumn(1);
customFloatingObject.endColumn(2);
customFloatingObject.endRow(2);

这样写浮动对象在row:1, col:1单元格上,是我想要的

但是这样写:
customFloatingObject.startRow(0);
customFloatingObject.startColumn(1);
customFloatingObject.endColumn(2);
customFloatingObject.endRow(1);

浮动对象占了0,0  0,1两个单元格,不理解为什么是这样的结果,不能0开头,还是0有其他作用
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-18 16:29:27
29#

您好,
将customFloatingObject.startRow(0);
customFloatingObject.startColumn(1);
customFloatingObject.endColumn(2);
customFloatingObject.endRow(1);
这段代码设置在
sheet.floatingObjects.add(customFloatingObject);
之后就可以了。

另外显示移动图标已经确认为是产品的一个bug,已经进行反馈了,目前有一个修改方法是:
在绑定时间中进行修改。spread.bind(GC.Spread.Sheets.Events.FloatingObjectLoaded,function(sender,args){
                //var floatingElement = args
                var elementLocked = args.floatingObject.isLocked();
                args.element.parentElement.onmousemove = function(){
                    if(elementLocked){
                        this.style.cursor = "default";
                    }
                }
            });
等到该BUG正式被修复后,我会第一时间通知您下载新的修复版本。
希望能够帮到您
回复 使用道具 举报
super825
初级会员   /  发表于:2017-8-18 22:04:58
30#
功能是实现了,测试了一下,性能又下降了,
10行794ms
125行1785ms
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部