找回密码
 立即注册

QQ登录

只需一步,快速开始

jackming

初级会员

41

主题

78

帖子

307

积分

初级会员

积分
307
jackming
初级会员   /  发表于:2020-6-16 11:07  /   查看:2391  /  回复:1
1金币
  1. export class LibraryUpdate extends GC.Spread.Sheets.CellTypes.Text {
  2.   constructor() {
  3.     super()
  4.     this._width = 0;
  5.     this._url = "";
  6.     this.typeName = 'libraryUpdate'
  7.   }
  8.   paint(ctx, value, x, y, w, h, style, context) {
  9.     if (!ctx) {
  10.       return
  11.     }
  12.     this._url = value;
  13.     this._width = parseInt(ctx.measureText(value).width.toString()) + 3;
  14.     ctx.save();

  15.     ctx.rect(x, y, w, h);
  16.     ctx.clip();

  17.     ctx.font = style.font;
  18.     ctx.fillStyle = style.foreColor;

  19.     const v = !!value ? (this.textValue || '') + value : ''

  20.     const backgroundImgStyle = new GC.Spread.Sheets.Style();
  21.     backgroundImgStyle.backgroundImageLayout = GC.Spread.Sheets.ImageLayout.stretch;
  22.     backgroundImgStyle.backgroundImage = 'data:image/png;base64,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'

  23.     const newX = context.sheet.getColumnWidth(context.col)
  24.     GC.Spread.Sheets.CellTypes.Text.prototype.paint.call(this, ctx, v, x, y, w, h, style, context);
  25.     GC.Spread.Sheets.CellTypes.Text.prototype.paint.call(this, ctx, "", x + newX / 2 - 10, y + 3, 20, 20, backgroundImgStyle, context);

  26.     ctx.restore();
  27.   }
  28.   getHitInfo = function (x, y, cellStyle, cellRect, context) {
  29.     var info = {
  30.       x: x,
  31.       y: y,
  32.       row: context.row,
  33.       col: context.col,
  34.       cellStyle: cellStyle,
  35.       cellRect: cellRect,
  36.       sheetArea: context.sheetArea
  37.     };
  38.     if (x >= cellRect.x && x <= cellRect.x + this._width && y >= cellRect.y && y <= cellRect.y + this._width) {
  39.       info.isReservedLocation = true;
  40.     }
  41.     return info;
  42.   }
  43.   processMouseMove(hitInfo) {
  44.     var sheet = hitInfo.sheet;
  45.     var div = sheet.getParent().getHost();
  46.     var canvasId = div.id + "vp_vp";
  47.     var canvas = $("#" + canvasId)[0];
  48.     var offset = $('#vp_vp').offset()
  49.     if (sheet && hitInfo.isReservedLocation) {
  50.       if (this._toolTipElement) {
  51.         $(this._toolTipElement).text(this.tooltip)
  52.           .css("top", offset.top - 35 + hitInfo.y)
  53.           .css("left", hitInfo.x + 70);
  54.         if (this.tooltip.length > 100) {
  55.           $(this._toolTipElement).css("top", offset.top - 75 + hitInfo.y);
  56.         }
  57.       } else if (this.tooltip) {
  58.         var div = document.createElement("div");
  59.         $(div).css("position", "absolute")
  60.           .css("border", "1px #C0C0C0 solid")
  61.           .css("box-shadow", "1px 2px 5px rgba(0,0,0,0.4)")
  62.           .css("font", "9pt Arial")
  63.           .css("background", "white")
  64.           .css('white-space', 'pre-line')
  65.           .css("padding", 5);
  66.         this._toolTipElement = div;
  67.         $(this._toolTipElement).text(this.tooltip)
  68.           .css("top", offset.top - 35 + hitInfo.y)
  69.           .css("left", hitInfo.x + 70);
  70.         if (this.tooltip.length > 100) {
  71.           $(this._toolTipElement).css("max-width", "500px").css("top", offset.top - 75 + hitInfo.y);
  72.         }
  73.         $(this._toolTipElement).hide();
  74.         canvas.parentElement.insertBefore(this._toolTipElement, null);
  75.         $(this._toolTipElement).show("fast");
  76.       }
  77.       canvas.style.cursor = 'pointer';
  78.       return true;
  79.     } else {
  80.       canvas.style.cursor = 'default';
  81.     }
  82.     return false;
  83.   }
  84.   processMouseLeave = function (hitInfo) {
  85.     if (this._toolTipElement) {
  86.       const sheet = hitInfo.sheet;
  87.       const div = sheet.getParent().getHost();
  88.       const canvasId = div.id + "vp_vp";
  89.       const canvas = $("#" + canvasId)[0];
  90.       canvas.parentElement.removeChild(this._toolTipElement);
  91.       this._toolTipElement = null;
  92.     }
  93.   }
  94.   processMouseUp(hitInfo) {
  95.     return false;
  96.   }
  97.   linkToolTip(value) {
  98.     this.tooltip = value
  99.   }
  100.   text(value) {
  101.     this.textValue = value
  102.   }
  103. }
复制代码
自定义的单元格,怎么清除

最佳答案

查看完整内容

清除自定义单元格: setCellType(0,0,null) 可以删除原先设置的单元格类型,

1 个回复

倒序浏览
最佳答案
最佳答案
Fiooona
论坛元老   /  发表于:2020-6-16 11:07:33
来自 2#
清除自定义单元格: setCellType(0,0,null) 可以删除原先设置的单元格类型,
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部