找回密码
 立即注册

QQ登录

只需一步,快速开始

beyond

初级会员

11

主题

37

帖子

309

积分

初级会员

积分
309

微信认证勋章

beyond
初级会员   /  发表于:2019-6-4 19:51  /   查看:2442  /  回复:5

事件如图  没有生效
我想让他点击后获取当前行的数据
xcxcxccx.png

5 个回复

倒序浏览
beyond
初级会员   /  发表于:2019-6-4 19:58:42
沙发
按钮是这样加的
button.png
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-6-5 08:39:58
板凳
您好,按钮添加事件可以通过设置ButtonClicked事件来触发,参考API:

https://demo.grapecity.com.cn/sp ... ttonClicked_EV.html
回复 使用道具 举报
beyond
初级会员   /  发表于:2019-6-5 09:47:07
地板
本帖最后由 beyond 于 2019-6-5 09:52 编辑
KevinChen 发表于 2019-6-5 08:39
您好,按钮添加事件可以通过设置ButtonClicked事件来触发,参考API:

https://demo.grapecity.com.cn/sp ...

还是失败,并且button 按下没有变动(我在示例的页面是有的)
没有绑定上事件
打断点后 在spread.bind(GC.Spread.Sheets.Events.ButtonClicked, function (e, args) 那里直接跳出是对的吗?
set.png
回复 使用道具 举报
beyond
初级会员   /  发表于:2019-6-5 10:16:56
5#
beyond 发表于 2019-6-5 09:47
还是失败,并且button 按下没有变动(我在示例的页面是有的)
没有绑定上事件
打断点后 在spread.bind( ...

把button 改程CellClick 就可以了。。。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-6-5 14:35:53
6#
您好,CellClick是单元格事件,严格说来不是按钮点击事件,这样虽然也能实现,但推荐使用ButtonClicked事件,

请参考以下代码:

  1. var spread = GC.Spread.Sheets.findControl("ss");

  2. spread.bind(GC.Spread.Sheets.Events.ButtonClicked, function (e, args) {
  3.     var sheet = args.sheet, row = args.row, col = args.col;
  4.     var cellType = sheet.getCellType(row, col);
  5.     if (cellType instanceof GC.Spread.Sheets.CellTypes.Button) {
  6.         alert("Button Clicked");
  7.     }
  8. });
复制代码


注意一下代码中的sheet.getCellType(row, col)句,

这里的sheet实际上应该是从args参数中获取到的,

而不应该通过spread.getActiveSheet或其他方式获取,

因为这里的sheet代表了事件发生的表单,用其他方式获取有一定概率获取到错误的表单。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部