找回密码
 立即注册

QQ登录

只需一步,快速开始

xuehai

注册会员

10

主题

28

帖子

132

积分

注册会员

积分
132
QQ
xuehai
注册会员   /  发表于:2019-11-6 21:05  /   查看:2498  /  回复:4
最新版本的ButtonList组件能否设置成鼠标移到上面变成手型呢;而且有个问题是,我自己写的buttonlist组件按照demo上在processMouseMove方法上改变canvas的style,但是却看不到手型的出现,
但是在控制台看canvas的style是有变化的,但是当我鼠标一上去又变成default,在mouseDown上改变样式能看到鼠标样式的改变,这边对于画这种list数据格式的自定义组件是有什么
限制了吗,还是被默认的mousemove事件给重写的样式,希望能有什么解决办法

4 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-11-7 10:12:00
沙发
您好,可以实现,只要通过SpreadJS提供的扩展自定义单元格接口即可简单实现这个功能,代码如下:
  1. function RaidoButtonCellType(items, size, isHorizontal) {
  2.                                 this.typeName = "RaidoButtonCellType";
  3.                         }
  4.                         RaidoButtonCellType.prototype = new GC.Spread.Sheets.CellTypes.RadioButtonList();
  5.                         RaidoButtonCellType.prototype.processMouseMove = function (hitInfo) {
  6.                                 var sheet = hitInfo.sheet;
  7.                                 var div = sheet.getParent().getHost();
  8.                                 var canvasId = div.id + "vp_vp";
  9.                                 var canvas = $("#"+canvasId)[0];
  10.                                 if (sheet && hitInfo.isReservedLocation) {
  11.                                         canvas.style.cursor='pointer';
  12.                                         return true;
  13.                                 }else{
  14.                                         canvas.style.cursor='default';
  15.                                 }
  16.                                 return false;
  17.                         };

  18.                         var radio = new RaidoButtonCellType();
复制代码


完整示例请查看附件。

自定义RadioButtonList鼠标手势.html

2.54 KB, 下载次数: 48

回复 使用道具 举报
xuehai
注册会员   /  发表于:2019-11-7 19:00:57
板凳
KevinChen 发表于 2019-11-7 10:12
您好,可以实现,只要通过SpreadJS提供的扩展自定义单元格接口即可简单实现这个功能,代码如下:

问题找到了,是这个属性的问题isReservedLocation,getHitInfo重写了,没管这个属性导致不成功
回复 使用道具 举报
xuehai
注册会员   /  发表于:2019-11-7 19:01:37
地板
xuehai 发表于 2019-11-7 19:00
问题找到了,是这个属性的问题isReservedLocation,getHitInfo重写了,没管这个属性导致不成功

没有这个属性,style的修改会被其他事件重写掉
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-11-8 10:02:49
5#
OK ,感谢反馈,解决了问题就好,本帖结贴了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部