找回密码
 立即注册

QQ登录

只需一步,快速开始

Coco_

注册会员

16

主题

43

帖子

153

积分

注册会员

积分
153
Coco_
注册会员   /  发表于:2024-11-22 16:00  /   查看:164  /  回复:6
1金币
参考官网地址 https://demo.grapecity.com.cn/sp ... tory-tracker/purejs
image.png605667724.png


需要在excel中加入两个形状按钮,点击切换Sheet页,在文档中没找到对应的方法。
有以下两个问题:
1.实现鼠标移动到图形上时,如何显示为手型。
2.点击图形切换sheet页。

最佳答案

查看完整内容

试了一下给形状设置超链接,问题解决了

6 个回复

倒序浏览
最佳答案
最佳答案
Coco_
注册会员   /  发表于:2024-11-22 16:00:39
来自 6#
Wilson.Zhang 发表于 2024-11-26 10:29
根据您的描述,您想通过点击形状切换sheet,这个可以通过监听ShapeSelectionChanged事件实现。具体地,该 ...

试了一下给形状设置超链接,问题解决了
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-22 17:46:10
2#
您好!可以尝试监听ShapeSelectionChanged事件,该事件能够监听形状选择,在事件处理函数中通过Worksheet:setActiveSheetIndex()切换sheet。同时,在处理处理函数中通过如下代码变更光标样式为小手:
  1. sheet.bind(GC.Spread.Sheets.Events.CellClick, function (e, args) {
  2.     var row = args.row;
  3.     var col = args.col;
  4.    
  5.     // 检查是否在有效单元格内
  6.     if (row >= 0 && col >= 0) {
  7.         console.log('----');
  8.         // 设置鼠标样式为小手
  9.        document.body.style.cursor = 'pointer';
  10.      }
  11. });
复制代码


回复 使用道具 举报
Coco_
注册会员   /  发表于:2024-11-25 17:29:45
3#
Wilson.Zhang 发表于 2024-11-22 17:46
您好!可以尝试监听ShapeSelectionChanged事件,该事件能够监听形状选择,在事件处理函数中通过Worksheet:s ...

我加上了表单保护之后,鼠标移动到形状上会变成可移动状态的10字图标,并且没有触发cellclick事件
sheet.options.isProtected = true;
sheet.options.protectionOptions.allowEditObjects = true;
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-26 10:29:44
4#
本帖最后由 Wilson.Zhang 于 2024-11-26 10:45 编辑
Coco_ 发表于 2024-11-25 17:29
我加上了表单保护之后,鼠标移动到形状上会变成可移动状态的10字图标,并且没有触发cellclick事件
shee ...

根据您的描述,您想通过点击形状切换sheet,这个可以通过监听ShapeSelectionChanged事件实现。具体地,该事件可以监听到被点击的形状的名称,根据形状名称决定切换至某个sheet,通过Workbook:setActiveSheetIndex()即可。
了解到您的场景可能需要表单保护,上述方案同样可以满足。

关于光标变小手,在2楼提供的方案不太简洁,我后来再测试发现不需要事件,只需如下代码即可:
  1. document.body.style.cursor = 'pointer'; // 单击时将光标改为小手
复制代码
但是需要双击才能生效,您可以参考测试下。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-26 11:34:49
5#
如果需要定义光标的形状,可以借用自定义单元格实现,重写自定义单元格原型的processMouseMove函数,设置光标形状为小手或其他样式。可以参考如下链接中的教程了解详情:
https://demo.grapecity.com.cn/SpreadJS/cdn/extendedExample/#/demos/mousePointer

您可以看到,光标悬浮或者掠过如下图所示A列单元格时光标即为小手状:
1732592046495.jpg177739256.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-27 15:43:02
7#
Coco_ 发表于 2024-11-27 09:24
试了一下给形状设置超链接,问题解决了



光标在超链接上可以自动变为小手形状,而且超链接也支持在sheet之间跳转,完全可行。

问题既已解决,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部