找回密码
 立即注册

QQ登录

只需一步,快速开始

sean_chen

中级会员

44

主题

121

帖子

849

积分

中级会员

积分
849

[已处理] 样式展示方案

sean_chen
中级会员   /  发表于:2019-10-12 15:11  /   查看:5345  /  回复:13
你好,如附件中所示,红色部分②(空白)希望展示下划线,前面的文字①不要下划线
Capture.PNG
因为,①和②可能在同一个cell中,下划线和边框无法实现,这个展示方式可以实现吗?有什么解决方案?
现在的效果是:
Capture2.PNG
空白太大,同时,这列列宽不可以缩短。
谢谢。



13 个回复

正序浏览
Fiooona
论坛元老   /  发表于:2019-10-16 18:05:19
14#
image.png785371093.png

  1. var oldFun = GC.Spread.Sheets.getTypeFromString;
  2. GC.Spread.Sheets.getTypeFromString = function(typeString) {
  3.         // debugger
  4.         switch (typeString) {
  5.                 case "MyCellType":
  6.                         return MyCellType;
  7.                
  8.                 default:
  9.                         return oldFun.apply(this, arguments);
  10.         }
  11. };
复制代码

在您这个文件中添加以上代码,自定义特效序列化在框架中,要重写getTypeFromString方法。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-10-16 15:33:32
13#
Fiooona 发表于 2019-10-16 11:19
参考附件的代码,用canvas的方式绘制,可以进行打印,按照您的逻辑 复制一份spread也能实现,如果还有 ...

你好,
基于上面给的demo,是可以打印成功了,但是移植到基于vue的项目中,就不显示了。麻烦帮忙定位下问题,
附件是移植到vue中的代码:访问路径: 【导出】菜单 -> 按钮【export sheet】

SpreadJSVue.zip

645.61 KB, 下载次数: 30

回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-10-16 11:19:11
12#
1571195761(1).jpg 1571195736(1).jpg

参考附件的代码,用canvas的方式绘制,可以进行打印,按照您的逻辑 复制一份spread也能实现,如果还有问题可以在我发的这个Demo中复现您的问题

10.16.zip

4.75 KB, 下载次数: 27

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-10-15 23:17:28
11#
Fiooona 发表于 2019-10-15 17:53
https://gcdn.grapecity.com.cn/showtopic-51678-1-86.html
可以参考这个文章,自定义单元格实现打印

这种自定义单元格打印是在页面上渲染好之后,直接调用print方法打印。
如果直接打印时没有效果的,
附件中是我的操作,帮忙看下是否使用的不对,非常感谢。

views.zip

1.94 KB, 下载次数: 26

回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-10-15 17:53:53
10#
https://gcdn.grapecity.com.cn/showtopic-51678-1-86.html
可以参考这个文章,自定义单元格实现打印
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-10-15 14:13:53
9#
Fiooona 发表于 2019-10-15 09:57
参考以上代码,将 渲染单元格value放在 渲染this._items的前面

你好,
如果是直接在页面渲染,是能够触发自定义类型的paint方法的,并且也有效果了。
我现在是在打印的时候,复制了一份sheet,并对复制后的sheet进行设置自定义单元格类型,不触发paint方法,这个有什么修改的方案吗?
附件中打印设置的单元格类型没有生效

ExportXlsx.zip

2.06 KB, 下载次数: 63

回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-10-15 09:57:41
8#
  1. MutipHyperLinkCellType.prototype.paint = function(ctx, value, x, y, w, h, style, context) {
  2.         var hyperStyle = new GC.Spread.Sheets.Style()
  3.         hyperStyle.foreColor = 'black';
  4.         hyperStyle.font = style.font;
  5.         // hyperStyle.cellPadding = '0 0 0 55'
  6.         hyperStyle.textDecoration = GC.Spread.Sheets.TextDecorationType.underline;
  7.        
  8.         var commonStyle = new GC.Spread.Sheets.Style()
  9.         commonStyle.foreColor = 'black';
  10.         commonStyle.font = style.font;

  11.         ctx.font = style.font;

  12.         this._sumItemTextWidth = 0;
  13.         this._itemsTextWidth = [];
  14.         GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this, [ctx, value, x, y, w, h, style, context]);

  15.         for (var i = 0; i < this._items.length; i++) {
  16.                 var textWidth = parseInt(ctx.measureText(this._items[i]).width.toString()) + 10;
  17.                 this._itemsTextWidth.push(textWidth);
  18.                 if (i % 2 !== 0) {
  19.                 GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this,[ctx, this._items[i], x + this._sumItemTextWidth, y, w, h, hyperStyle, context] )
  20.         } else {
  21.                 GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this, [ctx, this._items[i], x + this._sumItemTextWidth, y, w, h, commonStyle, context])
  22.         }
  23.                 this._sumItemTextWidth += textWidth;
  24.         }

  25. }
复制代码
参考以上代码,将 渲染单元格value放在 渲染this._items的前面
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
sean_chen
中级会员   /  发表于:2019-10-14 18:31:52
7#
Fiooona 发表于 2019-10-14 18:00
问题已收到 有结果回复您

好的。
如果能在这一两天答复,希望越快越好,这个问题影响后续开发,万分感谢!!!
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-10-14 18:00:21
6#
问题已收到 有结果回复您
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部