找回密码
 立即注册

QQ登录

只需一步,快速开始

尛森

注册会员

13

主题

25

帖子

124

积分

注册会员

积分
124
尛森
注册会员   /  发表于:2022-3-24 14:16  /   查看:2616  /  回复:4
1金币
比如说遇到零的情况不用超链接,别的数字可以
  1. import GC from "@grapecity/spread-sheets";

  2. const spreadNS = GC.Spread.Sheets;
  3. let HyperLinkCellType = function HyperLinkCellType (func) {

  4.     this.func = func
  5. }
  6. HyperLinkCellType.prototype = new spreadNS.CellTypes.HyperLink();


  7. HyperLinkCellType.prototype.processMouseUp = function (hitInfo) {
  8.     var sheet = hitInfo.sheet;
  9.     var cell = sheet.getCell(hitInfo.row, hitInfo.col);
  10.     var value = sheet.getDataItem(hitInfo.row)
  11.     if (sheet && hitInfo.isReservedLocation) {
  12.         this.func(value)
  13.         return true;
  14.     }
  15.     return false;
  16. };

  17. window.HyperLinkCellType = HyperLinkCellType;
复制代码


最佳答案

查看完整内容

类似于这种绑定的情况,可以尝试在绑定完成后遍历设置的区域,根据需求通过sheet.setCellType(1,2,new GC.Spread.Sheets.CellTypes.Text)将其设置为普通单元格。 或者根据实际的业务逻辑,参考下面的自定义单元格实现符合需求的超链接单元格。 https://demo.grapecity.com.cn/SpreadJS/cdn/extendedExample/#/demos/mutipHyperLinkCellType

4 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-24 14:16:55
来自 5#
尛森 发表于 2022-3-24 17:58
let column = {
                name: item.name,
                displayName: item.displayName,

类似于这种绑定的情况,可以尝试在绑定完成后遍历设置的区域,根据需求通过sheet.setCellType(1,2,new GC.Spread.Sheets.CellTypes.Text)将其设置为普通单元格

或者根据实际的业务逻辑,参考下面的自定义单元格实现符合需求的超链接单元格。
https://demo.grapecity.com.cn/SpreadJS/cdn/extendedExample/#/demos/mutipHyperLinkCellType
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-24 17:37:38
2#
没太理解上面的代码,如果是批量设置的超链接单元格,可以设置完成后遍历设置的区域,如果有不符合需求的值,可以通过sheet.setCellType(1,2,new GC.Spread.Sheets.CellTypes.Text)将其设置为普通单元格。

或者是在设置超链接类型前做下判断,符合需求的就setCellType,不符合的则跳过。
回复 使用道具 举报
尛森
注册会员   /  发表于:2022-3-24 17:50:37
3#
Derrick.Jiao 发表于 2022-3-24 17:37
没太理解上面的代码,如果是批量设置的超链接单元格,可以设置完成后遍历设置的区域,如果有不符合需求的值 ...

是用 sheet.bindColumn(index, column),这样绑定了表头,没有遍历挨个设置cell的type
回复 使用道具 举报
尛森
注册会员   /  发表于:2022-3-24 17:58:50
4#
Derrick.Jiao 发表于 2022-3-24 17:37
没太理解上面的代码,如果是批量设置的超链接单元格,可以设置完成后遍历设置的区域,如果有不符合需求的值 ...

let column = {
                name: item.name,
                displayName: item.displayName,
                size: item.size,
                resizable: true
            };
            if(item.cellType){
                column.cellType = item.cellType
            }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部