找回密码
 立即注册

QQ登录

只需一步,快速开始

梦洒了

金牌服务用户

9

主题

22

帖子

81

积分

金牌服务用户

积分
81
梦洒了
金牌服务用户   /  发表于:2021-7-23 16:51  /   查看:1980  /  回复:5
代码:
image.png985618896.png
页面:

image.png925345153.png
期望:
下拉框可以像CheckBox   区域性的设置。
setStyle 好像只能指定设置某一行,或者某一个单元格,想要选中区域都设置,难道只能遍历?


需求:
设置以后点击确定,
动态改变选中区域单元格格式为下拉框-列表,下拉框-列表项源表接口获取。
image.png980784912.png


可能是没有找到对应的api。麻烦知道得小伙伴告知一下。谢谢





5 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-23 17:09:52
沙发
本帖最后由 Derrick.Jiao 于 2021-7-23 17:11 编辑

您可以用getSelections获取当前的选区,然后通过遍历该选区的行列去setStyle
例如
  1. var selections = sheet.getSelections();
  2.                 var selectionIndex = 0, selectionCount = selections.length;
  3.                 for (; selectionIndex < selectionCount; selectionIndex++) {
  4.                     var selection = selections[selectionIndex];
  5.                     for (var i = selection.row; i < (selection.row + selection.rowCount); i++) {
  6.                         for (var j = selection.col; j < (selection.col + selection.colCount); j++) {
  7.                             sheet.setStyle(i, j, style, GC.Spread.Sheets.SheetArea.viewport);
  8.                         }
  9.                     }
  10.                 }
复制代码


image.png369890136.png
回复 使用道具 举报
梦洒了
金牌服务用户   /  发表于:2021-7-23 17:14:49
板凳
Derrick.Jiao 发表于 2021-7-23 17:09
您可以用getSelections获取当前的选区,然后通过遍历该选区的行列去setStyle
例如

只能遍历了哈。这样会不会影响效率
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-23 17:26:16
地板
梦洒了 发表于 2021-7-23 17:14
只能遍历了哈。这样会不会影响效率

对的 目前我们的样式设置只能在单元格级别、行级别、列级别设置。关于循环遍历的性能,您可以在进行大量遍历前用suspendPaint / resumePaint函数来加速渲染性能。您可以参考我们的学习指南关于suspendPaint / resumePaint的使用
https://demo.grapecity.com.cn/sp ... ook/painting/purejs
回复 使用道具 举报
梦洒了
金牌服务用户   /  发表于:2021-7-23 17:46:47
5#
梦洒了 发表于 2021-7-23 17:14
只能遍历了哈。这样会不会影响效率

嗯嗯。了解了。解决问题了。谢谢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-7-23 17:50:32
6#
梦洒了 发表于 2021-7-23 17:46
嗯嗯。了解了。解决问题了。谢谢

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