请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 单元格状态操作

finstone-lush
金牌服务用户   /  发表于:2021-9-22 10:09  /   查看:2056  /  回复:7
本帖最后由 Clark.Pan 于 2021-9-22 10:23 编辑

  通过 sheet.cellStates.clear(range, sheetArea) 方法清除区域样式,在涉及到大量的range时影响性能


已通过  sheet.suspendPaint() 和 sheet.resumePaint() 方式进行性能提示


两个问题:


1、如何通过代码将多个小的、不确定的range,尽可能多的合并大区域


2、在通过代码跟踪时,发现 sheet.cellStates.clear 是清除所有的单元格状态,现在需要清理指定单元状态, 通过代码发现是调用了
   var   obj = sheet.cellStates.getCollection(cellStateType, bool)
   var  obj.xCb(range, sheetArea)


能否提供 xCb 方法的实际名称,xCb 应该是打包后JS混入的名称




7 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-22 10:28:19
沙发
1.这个需要自己构建算法,思路是对于给定的range根据row,col,rowcount,colcount来判断是否需要合并。
2.xCb很明显是内部方法,这个既然没有公开,那么是不建议用户去使用的。

ps:您的真正需求是什么,为什么需要有大量不确定的range,还要考虑其中合并的问题。
回复 使用道具 举报
finstone-lush
金牌服务用户   /  发表于:2021-9-22 10:38:13
板凳
场景:
业务中需要针对设置了只读单元格状态的数据,在某些时候需要根据数据中的设置,给指定的单元格重新设置背景色,没有涉及到的单元格还是按照只读单元格状态的格式进行设置,

问题:
单元格状态对于样式的优先级,导致 不论是通过 getCell(row,col).backColor,还是通过条件格式设置等都不起效果,所以在设置单元格背景前需要将单元格状态-只读设置对某些单元格去掉,官方提供的 sheet.cellStates.clear方式是清除区域的所有单元格状态,不能指定

回复 使用道具 举报
finstone-lush
金牌服务用户   /  发表于:2021-9-22 10:39:58
地板
或则是否可以提供一个,优先级最高的用于设置单元格样式的途径?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-22 12:15:11
5#
finstone-lush 发表于 2021-9-22 10:39
或则是否可以提供一个,优先级最高的用于设置单元格样式的途径?

您好,可以指定需要清除的区域,请参考下面的代码,清除指定range的cellstatesvar range = new GC.Spread.Sheets.Range(0,0,1,1);
sheet.cellStates.clear(range, GC.Spread.Sheets.SheetArea.viewport);

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-12 10:28:49
6#
不知道楼主的问题解决了没?      
如果已经解决了可以分享一下解决方案么?说不定可以帮助到后续小伙伴哦~      
如果没有还没有解决,可以提供一些问题的详细描述,这边协助您解决哦~   
回复 使用道具 举报
finstone-lush
金牌服务用户   /  发表于:2021-10-14 16:07:56
7#
本帖最后由 finstone-lush 于 2021-10-14 16:09 编辑

1、第一问题,小range合并大range,以列为层次通过行号的判断合并,已经解决

2、第二个问题,现在直接就是使用  xCb 这个方法,没有重新写,后续腾出时间了,在重写下
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-10-14 16:14:39
8#
finstone-lush 发表于 2021-10-14 16:07
1、第一问题,小range合并大range,以列为层次通过行号的判断合并,已经解决

2、第二个问题,现在直接就 ...

后续有新问题也欢迎开新帖沟通交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部