找回密码
 立即注册

QQ登录

只需一步,快速开始

jiqimao 讲师达人认证
金牌服务用户   /  发表于:2020-6-1 10:41  /   查看:6791  /  回复:13
本帖最后由 jiqimao 于 2020-6-1 10:46 编辑

我们这边升级了最新的 v13.1.0 版本, 但是发现新版本的 超链接 功能不可用. 我排查了下, 发现是和之前跟你们沟通的阅读模式的功能发生了冲突.

下面是阅读模式的功能
  1. // 重写base, 为了实现阅读模式
  2. function rewriteBase() {
  3.         GlobalInfo.selections = [];
  4.         // 重写Base类型
  5.         var CustomBase = GC.Spread.Sheets.CellTypes.Base;
  6.         var oldPaint = GC.Spread.Sheets.CellTypes.Base.prototype.paint;
  7.         CustomBase.prototype.paint = function (context, value, x1, y1, a1, b1, style, ctx) {
  8.                 if (!context) {
  9.                         return;
  10.                 }
  11.                 if(this.showEffect){
  12.                         if(GlobalInfo.selections && GlobalInfo.selections.length !== 0){
  13.                                 var row = ctx.row, col = ctx.col;
  14.                                 GlobalInfo.selections.forEach(function (sel) {
  15.                                         var rowSpan = sel.row + sel.rowCount;
  16.                                         var colSpan = sel.col + sel.colCount;
  17.                                         var isLeft = col < sel.col && row >= sel.row && row < rowSpan;
  18.                                         var isRight = col >= colSpan && row >= sel.row && row < rowSpan;
  19.                                         var isTop = row < sel.row && col >= sel.col && col < colSpan;
  20.                                         var isBottom = row >= rowSpan && col >= sel.col && col < colSpan;
  21.                                         if(isTop || isBottom || isLeft || isRight){
  22.                                                 style.backColor = "rgb(254, 243, 205)";
  23.                                         }
  24.                                 })
  25.                         }
  26.                 }
  27.                 oldPaint.apply(this, [context, value, x1, y1, a1, b1, style, ctx]);
  28.         };
  29. }
复制代码
  1. // 阅读模式的单元格格式
  2. var readModeCellType = new GC.Spread.Sheets.CellTypes.Text();
  3. readModeCellType.showEffect = true;
复制代码

然后在打开表格的时候, 对每个sheet都做一下初始化动作:  sheet.setCellType(-1, -1, readModeCellType);

如果做了这个操作的话, 就会引起 超链接 功能, 设置了之后, 表格不显示效果的问题.


评分

参与人数 1金币 +666 收起 理由
Fiooona + 666 感谢反馈

查看全部评分

13 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-1 16:20:17
沙发
您能给个完整demo,让我们具体调试一下看看问题吗?我们也方便用这个demo跟研发部门来讨论问题。
回复 使用道具 举报
jiqimao讲师达人认证
金牌服务用户   /  发表于:2020-6-1 17:52:48
板凳
我上传了demo在附件里面. 你可以试试看. 这个index.html 是编辑器源码里面的. 你放到编辑器里面就可以了

只要做了初始化操作之后, 超链接 功能就不行了.

index.html

10.2 KB, 阅读权限: 150, 下载次数: 3

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-1 18:07:53
地板
好的,收到,我先试试看,另外问个问题,阅读模式跟正常的SpreadJS普通单元格有什么区别呢?
回复 使用道具 举报
jiqimao讲师达人认证
金牌服务用户   /  发表于:2020-6-2 16:28:28
5#
阅读模式之前是你们给的做法. 其实没什么区别. 就是临时给单元格加了样式. 设置了一下 背景颜色
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-2 19:10:00
6#
我这边确实也是如此,我这边从源码上再查一下原因
回复 使用道具 举报
jiqimao讲师达人认证
金牌服务用户   /  发表于:2020-6-8 11:07:15
7#
请问这个问题怎么样了呢 ?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-8 15:40:10
8#
本帖最后由 ClarkPan 于 2020-6-11 09:40 编辑

这个BUG下个版本会修复,BUGID: SJS-4509 临时解决办法单元格类型属性中加入this.typeName = 1;例如下面这样:
function MyCellType() {
this.typeName = 1;
};
注:这个是个临时修复方案,在正式修复版之后将失效报错。正式修复不需要this.typeName = 1
回复 使用道具 举报
jiqimao讲师达人认证
金牌服务用户   /  发表于:2020-6-8 23:20:53
9#
这个下个版本将会再什么时候发布呢 ?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-9 11:09:20
10#
如果不出意外两周内就会发布
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部