找回密码
 立即注册

QQ登录

只需一步,快速开始

afly

注册会员

7

主题

20

帖子

61

积分

注册会员

积分
61
最新发帖
afly
注册会员   /  发表于:2024-12-12 15:15  /   查看:78  /  回复:5
现在是通过选中所在行和列所在区域设置backColor,但是性能感觉不太好,一卡一卡的,有没有其他方案可以实现的呢

5 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2024-12-12 15:32:02
沙发
您好!这样的话需要先获取被选中的单元格或单元格区域,通过Worksheet:getSelections()可以获取,获取结果是包含了选中区域的数组。依次遍历每个被选中的区域,为区域设置背景色即可,如下图所示:
为选中区域设置背景色为黄色.png729780273.png

如果需要在每次选择结束后即设置,可以监听SelectionChanged事件,该事件监听到的newSelections即最新被选中的区域,可参考如下代码:
  1. sheet.bind(GC.Spread.Sheets.Events.SelectionChanged, function(e, args) {
  2.     console.log('selection changed, args: ', args);
  3.     args.newSelections.forEach(selection => {
  4.         sheet.getRange(selection.row, selection.col, selection.rowCount, selection.colCount).backColor('yellow');
  5.     });
  6. });
复制代码
回复 使用道具 举报
afly
注册会员   /  发表于:2024-12-12 16:07:05
板凳
Wilson.Zhang 发表于 2024-12-12 15:32
您好!这样的话需要先获取被选中的单元格或单元格区域,通过Worksheet:getSelections()可以获取,获取结果 ...

不是给选中区域设置背景色,是选择一个单元格后,给当前单元格所在的列和行增加背景色,我跟上面的区别是 区域选择是的单元格所在行列的区域,执行起来就比较慢,api调用的是一致的。
image.png139580992.png
image.png488383178.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-12 17:30:34
地板
afly 发表于 2024-12-12 16:07
不是给选中区域设置背景色,是选择一个单元格后,给当前单元格所在的列和行增加背景色,我跟上面的区别是 ...

可以参考下单元格的行列状态:
https://demo.grapecity.com.cn/sp ... olumn-states/purejs
回复 使用道具 举报
afly
注册会员   /  发表于:2024-12-13 09:25:44
5#
Wilson.Zhang 发表于 2024-12-12 17:30
可以参考下单元格的行列状态:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cel ...

13.1 版本有支持这个吗?我们使用的这个版本我找了一下貌似没有这个 RowColumnStates
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-12-13 13:31:01
6#
afly 发表于 2024-12-13 09:25
13.1 版本有支持这个吗?我们使用的这个版本我找了一下貌似没有这个 RowColumnStates

帮您调研下了,15版本开始支持了RowColumnStates特性,您可以考虑升级版本后使用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部