找回密码
 立即注册

QQ登录

只需一步,快速开始

高阳0910

初级会员

37

主题

134

帖子

451

积分

初级会员

积分
451
高阳0910
初级会员   /  发表于:2022-6-24 14:09  /   查看:2312  /  回复:10
1金币
本帖最后由 高阳0910 于 2022-6-24 14:58 编辑

想使用这个监听 【GC.Spread.Sheets.Events.ColumnChanging】 来进行 删除插入 列 。
然后再监听方法中做判断 ,如果是第一列 或者第一行 就不能进行删除,应该怎么写呢。

最佳答案

查看完整内容

ColumnChanging目前没有办法判断列具体是做了什么操作, 你可以尝试监听command,然后根据事件名称以及对应参数来判断, 比如在在线编辑器中,监听在列头右键添加列

10 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-24 14:09:15
来自 2#
ColumnChanging目前没有办法判断列具体是做了什么操作,

你可以尝试监听command,然后根据事件名称以及对应参数来判断,
比如在在线编辑器中,监听在列头右键添加列

  1. spread.commandManager().addListener("anyscLicenser",function(){
  2. for(var i=0;i<arguments.length;i++){
  3. var cmd = arguments[i].command;
  4. if(cmd.cmd=='gc.spread.contextMenu.insertColumns'){

  5.             console.log(cmd.activeCol);
  6.         }
  7. }
  8. });
复制代码
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2022-6-27 18:19:53
3#
Richard.Ma 发表于 2022-6-24 16:04
ColumnChanging目前没有办法判断列具体是做了什么操作,

你可以尝试监听command,然后根据事件名称以及 ...

看有帖子是用 onOpenMenu  做的。能给一份 vue 的demo 吗?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-28 11:09:15
4#
你说的帖子麻烦发个链接,onOpenMenu是在右键菜单打开时触发的,没有判断最后点击的是插入或者删除行列按钮
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2022-6-28 16:03:27
5#
Richard.Ma 发表于 2022-6-28 11:09
你说的帖子麻烦发个链接,onOpenMenu是在右键菜单打开时触发的,没有判断最后点击的是插入或者删除行列按钮

忘记是那个帖子了。 他那个主要是做的 onOpenMenu  去做判断 展示或隐藏右键菜单里的插入和删除 行列的 那么一个功能,他是用js 写的。 我用vue 写,没成功。想看看能不能给个demo
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2022-6-28 16:24:46
6#
Richard.Ma 发表于 2022-6-28 11:09
你说的帖子麻烦发个链接,onOpenMenu是在右键菜单打开时触发的,没有判断最后点击的是插入或者删除行列按钮

这个帖子 https://gcdn.grapecity.com.cn/showtopic-60568-1-445.html
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-28 18:03:13
7#
本帖最后由 Richard.Ma 于 2022-6-28 18:25 编辑

根据你发的这个修改了一个vue 的示例,你可以参考,但是你发的这个只是onOpenMenu时自定义右键菜单,和你本身提问的问题实际上没什么关系


https://jscodemine.grapecity.com/sample/sssngfMgcUeg-zTK0ogjlw/
参考120行initSpread中的设置
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2022-6-30 13:43:50
8#
Richard.Ma 发表于 2022-6-28 18:03
根据你发的这个修改了一个vue 的示例,你可以参考,但是你发的这个只是onOpenMenu时自定义右键菜单,和你本 ...

这个可以用。感谢。再问您个问题,这两个 的名称是什么呢。 我想去掉。 9599950b3447614cf0307c86083ca5d.png297742919.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-30 15:54:12
9#
你可以参考一下下面的代码,来去掉这两个,但是你这边是出于什么使用场景需要去掉这两个选项呢,

  1. var cellinsert=GC.Spread.Sheets.Designer.getTemplate('cellsInsertDialogTemplate');
  2. cellinsert.content[0].children[0].children[0].items.splice(2);
  3. GC.Spread.Sheets.Designer.registerTemplate("cellsInsertDialogTemplate", cellinsert);
复制代码
回复 使用道具 举报
高阳0910
初级会员   /  发表于:2022-7-3 09:30:14
10#
Richard.Ma 发表于 2022-6-30 15:54
你可以参考一下下面的代码,来去掉这两个,但是你这边是出于什么使用场景需要去掉这两个选项呢,

场景是:某些情况下要根据行列数据进行判断  是否允许 插入 或者 删除 行列。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部