找回密码
 立即注册

QQ登录

只需一步,快速开始

秋辞

初级会员

24

主题

50

帖子

218

积分

初级会员

积分
218
秋辞
初级会员   /  发表于:2022-8-11 19:11  /   查看:1269  /  回复:8
1金币
本帖最后由 秋辞 于 2022-8-12 11:54 编辑

colInfos: [ {name: 'xxTime', displayName: 'xx时间', pinned: 'left', size: 150, visible: true},];
this.colInfos.map((i, index) => {
  if (index > 29) {
    this.sheet.setStyle(-1, index, showTimeStyle);
  }
})
我的colinfos里面大概一百多个字段,我设置了超过29的列,单元格类型都是时间,为什么只生效了一部分。有什么可能的原因会导致这种渲染结果? image.png274147032.png

最佳答案

查看完整内容

第一可以直接优化下设置样式的代码, 改为 其次加上suspendPaint ,resumePaint 等方法调用。一般用于做大量修改前后,加速渲染性能。 看下是否还有这些问题。

8 个回复

倒序浏览
最佳答案
最佳答案
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-11 19:11:19
来自 6#
第一可以直接优化下设置样式的代码,
  1. this.colInfos.map((i, index) => {
  2.   if (index > 29) {
  3.     this.sheet.setStyle(-1, index, showTimeStyle);
  4.   }
  5. })
复制代码


改为
  1. sheet.getRange(0,5,datasource.length,colInfos.length-4,3).setStyle(showTimeStyle)
复制代码
其次加上suspendPaint ,resumePaint 等方法调用。一般用于做大量修改前后,加速渲染性能。
看下是否还有这些问题。

回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-12 11:25:40
2#
本帖最后由 沉沉 于 2022-8-12 16:05 编辑

可以整理出一份完整demo吗这边测试没有问题
image.png74261778.png
  1.   let dtsheet = spread.sheets[1];
  2.     var style = new GC.Spread.Sheets.Style();
  3.     style.foreColor = "green";
  4.     for(let i = 5;i<colInfos.length;i++){
  5.         dtsheet.setStyle(-1,i,style,GC.Spread.Sheets.SheetArea.viewport);
  6.     }
复制代码


回复 使用道具 举报
秋辞
初级会员   /  发表于:2022-8-12 16:29:28
3#
沉沉 发表于 2022-8-12 11:25
可以整理出一份完整demo吗这边测试没有问题

       //时间单元格处理
          var showTimeStyle = new GC.Spread.Sheets.Style();
          showTimeStyle.locked = false
          showTimeStyle.cellButtons = [
            {
              imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
              command: 'openDateTimePicker',
              useButtonStyle: true
            }
          ]
          showTimeStyle.dropDowns = [
            {
              type: GC.Spread.Sheets.DropDownType.dateTimePicker,
              option: {
                showTime: false
              }
            }
          ];
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-12 16:58:30
4#
本帖最后由 沉沉 于 2022-8-12 17:14 编辑

这边测试没有问题
image.png884769897.png
附件里面有测试demo,

index1.zip

902 Bytes, 下载次数: 28

回复 使用道具 举报
秋辞
初级会员   /  发表于:2022-8-12 17:39:06
5#
沉沉 发表于 2022-8-12 16:58
这边测试没有问题

附件里面有测试demo,

这问题是偶现的,同样的代码在我电脑上能渲染出来,在我同事电脑上就渲染不出来,所以我才问有什么可能原因会导致这种问题
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-12 18:41:33
7#
秋辞 发表于 2022-8-12 17:39
这问题是偶现的,同样的代码在我电脑上能渲染出来,在我同事电脑上就渲染不出来,所以我才问有什么可能原 ...

可以参考6楼的回复哈,如果仍未解决,可以提供稳定复现的demo,这边来做调研。
回复 使用道具 举报
秋辞
初级会员   /  发表于:2022-8-13 11:08:47
8#
沉沉 发表于 2022-8-11 19:11
第一可以直接优化下设置样式的代码,

好,我回去再试一下吧,感谢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-8-15 10:20:38
9#
秋辞 发表于 2022-8-13 11:08
好,我回去再试一下吧,感谢

不用客气,因为此贴已结,后续如果能提供稳定复现的demo,建议开一个新帖,这边来继续跟踪处理。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部