找回密码
 立即注册

QQ登录

只需一步,快速开始

溪夔
注册会员   /  发表于:2020-6-19 11:51:01
11#
Fiooona 发表于 2020-6-18 18:53
问题已收到,明日给您答复

我已经解决这个问题,使用单元格的tag在paint里判断来选择绘制的颜色,离开单元格时将三角颜色设置为透明就可以了,非常感谢你们的耐心解答,稍后我将完整的文档放上来,希望能帮到有需要人
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-6-19 15:06:24
12#
感谢支持~ 期待您的完整结果~
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
溪夔
注册会员   /  发表于:2020-6-21 18:03:50
13#
Fiooona 发表于 2020-6-19 15:06
感谢支持~ 期待您的完整结果~

自定义下拉图案

spreadJS 自定义下拉图案.zip

2.06 MB, 下载次数: 493

评分

参与人数 1金币 +666 收起 理由
Fiooona + 666 赞一个!

查看全部评分

回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-6-22 09:01:21
14#
谢谢分享
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
溪夔
注册会员   /  发表于:2020-6-23 14:59:37
15#

image.png475875243.png image.png753225097.png
不好意思,我在使用的时候发现一个小问题,有背景颜色的行,则小三角则无法显示了,该如何设置显示优先级呢
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-6-23 17:17:20
16#
样式优先级:单元格 > 行 > 列 > 表
样式详解:
https://www.grapecity.com.cn/blo ... ply-spreadjs-styles
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
溪夔
注册会员   /  发表于:2020-6-23 18:19:18
17#
本帖最后由 溪夔 于 2020-6-23 18:20 编辑
Fiooona 发表于 2020-6-23 17:17
样式优先级:单元格 > 行 > 列 > 表
样式详解:
https://www.grapecity.com.cn/blogs/how-to-understand- ...

我尝试使用for循环来设置CellType
  1. for(var ct=0;ct<50;ct++){sheet.getCell(ct,1, spreadNS.SheetArea.viewport).cellType(new MyCellType());}
复制代码

但是还是会被遮挡,这是为什么呢?
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2020-6-23 18:27:56
18#
看您上面的无法复现问题,可以更新一个能复现问题的Demo,
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
溪夔
注册会员   /  发表于:2020-6-23 21:27:56
19#
Fiooona 发表于 2020-6-23 18:27
看您上面的无法复现问题,可以更新一个能复现问题的Demo,

已上传,麻烦看一下

spreadJS 问题.zip

2.06 MB, 下载次数: 559

回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-6-24 09:50:49
20#
调整下逻辑
先绘制以前的内容,再根据条件绘制三角
后调用oldPaint会覆盖画好的内容。
  1.                
  2.                 /*将图案应用至设置好的画布*/
  3.             oldPaint.apply(this, [ctx, value, x, y, w, h, style, context]);
  4.                
  5.                 var sheet = context.sheet,
  6.                         row = context.row,
  7.                         col = context.col;
  8.                 /*根据单元格的tag值来判断绘制什么颜色*/
  9.             if (sheet.getTag(row, col) == 'true') {
  10.                        
  11.                         /*绘制图案*/
  12.                         ctx.save();
  13.                         ctx.rect(x, y, w, h);
  14.                         ctx.clip();
  15.                         ctx.beginPath();
  16.                 ctx.fillStyle = 'red';
  17.                        
  18.                         var r = 10;
  19.                         var startX = x + w - 10;
  20.                         var startY = y + h / 2 - 3;
  21.                         ctx.beginPath();
  22.                         ctx.moveTo(startX, startY + r * Math.cos(Math.PI / 6));
  23.                         ctx.lineTo(startX + r * Math.sin(Math.PI / 6), startY);
  24.                         ctx.lineTo(startX - r * Math.sin(Math.PI / 6), startY);
  25.                         ctx.lineTo(startX, startY + r * Math.cos(Math.PI / 6));
  26.                         ctx.closePath();
  27.                         ctx.fill();
  28.                         ctx.restore();
  29.             }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部