找回密码
 立即注册

QQ登录

只需一步,快速开始

宇宙风

注册会员

7

主题

20

帖子

109

积分

注册会员

积分
109
宇宙风
注册会员   /  发表于:2022-10-8 18:24  /   查看:1406  /  回复:5
10金币
本帖最后由 宇宙风 于 2022-10-8 19:31 编辑

image.png240550841.png


如图所示,这是一个单元格的内容,可以拥有多种背景色,且溢出部分也能正常展示

能想到的方案有三种:
一个是区域模板,把多个不同背景色的单元格拼到一起,但是好像不支持展示溢出的部分
一个是html单元格,好像不支持展示溢出的部分 https://demo.grapecity.com.cn/SpreadJS/cdn/extendedExample/#/demos/htmlCell
一个是浮动元素,把浮动的HtmlElement设置overflow: visible即可,这个可以满足要求。但是页面上有很多个这种浮动元素的话,性能又不理想

请问还有没有别的什么办法可以实现?

最佳答案

查看完整内容

可以尝试一下自定义单元格,这个也可以溢出,通过paint方法中的canvas绘制的文字或者其他的东西都可以溢出单元格 https://demo.grapecity.com.cn/sp ... types/custom/purejs 比如这个示例中,改了下面的代码来改变canvas的范围以及绘制的位置,这个绘制的星号就可以超出右边了,同样你可以直接通过canvas的其他方法来绘制文字绘制矩形(给文字加背景)

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-8 18:24:09
来自 2#
本帖最后由 Richard.Ma 于 2022-10-9 18:14 编辑

可以尝试一下自定义单元格,这个也可以溢出,通过paint方法中的canvas绘制的文字或者其他的东西都可以溢出单元格
https://demo.grapecity.com.cn/sp ... types/custom/purejs

比如这个示例中,改了下面的代码来改变canvas的范围以及绘制的位置,这个绘制的星号就可以超出右边了,同样你可以直接通过canvas的其他方法来绘制文字绘制矩形(给文字加背景)

image.png596060180.png

评分

参与人数 1满意度 +5 收起 理由
宇宙风 + 5

查看全部评分

回复 使用道具 举报
宇宙风
注册会员   /  发表于:2022-10-10 16:53:13
3#
Richard.Ma 发表于 2022-10-9 18:11
可以尝试一下自定义单元格,这个也可以溢出,通过paint方法中的canvas绘制的文字或者其他的东西都可以溢出 ...

感谢你提供的思路,很有帮助。
还有一个疑问,原始的单元格类型,文字溢出遇到右边单元格有内容的话,就不会继续溢出。自定义单元格要怎么实现这种效果?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-10 17:53:47
4#
paint方法中提供的context参数,可以获取到sheet,以及当前行列,这样可以先getValue下一列的值,判断是否为空,然后据此设置canvas的rect
代码
image.png588839416.png



效果
image.png609957885.png
回复 使用道具 举报
宇宙风
注册会员   /  发表于:2022-10-14 12:21:30
5#
Richard.Ma 发表于 2022-10-8 18:24
可以尝试一下自定义单元格,这个也可以溢出,通过paint方法中的canvas绘制的文字或者其他的东西都可以溢出 ...

感谢您提供的思路
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-14 14:16:19
6#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部