找回密码
 立即注册

QQ登录

只需一步,快速开始

黑先生。

初级会员

15

主题

39

帖子

383

积分

初级会员

积分
383
黑先生。
初级会员   /  发表于:2020-4-18 11:33  /   查看:3447  /  回复:4
本帖最后由 黑先生。 于 2020-4-18 16:46 编辑

1、自定义的菜单,我想实现这个变灰的状态,让菜单不可用如何实现? image.png398350219.png
2、我想在右键点击打开菜单之前,先把某个菜单禁用掉,请问右键事件怎么监听?

4 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2020-4-19 21:54:50
沙发
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/context-menu/extend-context-menu/purejs ]H(M4D_2_A4$W4X]%Q{ZS(V.png
给该右键菜单设置disable=true 这样是灰色不可用状态,参考上面例子。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-4-19 22:10:36
板凳

  1.         /*
  2.         *  通过继承ContextMenu的方式自定义右键菜单逻辑
  3.         * */
  4.         function ContextMenu(){}
  5.         ContextMenu.prototype = new GC.Spread.Sheets.ContextMenu.ContextMenu(spread);
  6.         /*
  7.         * onOpenMenu是右键菜单弹出前触发的事件,可以用来自定义右键菜单项
  8.         * itemsDataForShown 是本次右键单击弹出的右键菜单项
  9.         * */
  10.         ContextMenu.prototype.onOpenMenu = function (menuData, itemsDataForShown, hitInfo, spread) {

  11.                         for(let i=0; i<itemsDataForShown.length; i++){
  12.                                 var item = itemsDataForShown[i];
  13.                                 if(item.name === "gc.spread.hideRows"){
  14.                                         item.disable = false;
  15.                                 }else if(item.name === "gc.spread.unhideRows"){
  16.                                         item.disable = false;
  17.                                 }
  18.                         }
  19.         };

  20.         // 将自定义右键菜单赋值给spread.contextMenu
  21.         spread.contextMenu = new ContextMenu();
复制代码

参考以上代码
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
黑先生。
初级会员   /  发表于:2020-4-20 08:05:02
地板

那请问我如何获得当前右键行数据呢,我需要根据右键行数据操作
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-4-20 08:53:52
5#
onOpenMenu 里返回的hitInfo中有点击的单元格的行列索引
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部