找回密码
 立即注册

QQ登录

只需一步,快速开始

阿达西

最新发帖
阿达西
注册会员   /  发表于:2024-11-26 14:41:15
10#
本帖最后由 阿达西 于 2024-11-26 14:57 编辑

大佬,还有两个问题。
1、在点击表角,处理全选行为的时候,因为点击了表角,会选中全部表格视图,怎么取消这个行为?
2、在处理全选时,更新所有复选框的状态性能太低了。105条数据,初始化所有复选框只需要2ms左右,但是更新所有复选框的状态却需要9000ms左右,怎么优化这块的性能呢? image.png99519347.png image.png320251158.png
回复 使用道具 举报
阿达西
注册会员   /  发表于:2024-11-26 15:21:22
11#
本帖最后由 阿达西 于 2024-11-26 15:25 编辑
阿达西 发表于 2024-11-26 14:41
大佬,还有两个问题。
1、在点击表角,处理全选行为的时候,因为点击了表角,会选中全部表格视图,怎么 ...

问题2解决了,在操作sheet前执行spread.suspendPaint(),操作完成后执行spread.resumePaint()。9000多条数据,每次操作都保持在90ms左右
image.png462098388.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-26 17:21:03
12#
阿达西 发表于 2024-11-26 14:41
大佬,还有两个问题。
1、在点击表角,处理全选行为的时候,因为点击了表角,会选中全部表格视图,怎么 ...

您好!
问题1:点击表角选中整张sheet,相当于选中区域为整张sheet,通过Worksheet:clearSelection()清除选择即可。

问题2:尝试下在一键设置行头复选框的for循环前后分别加上Worksheet:suspendPaint()暂停绘制和Worksheet:resumePaint()恢复绘制语句以辅助优化。
回复 使用道具 举报
阿达西
注册会员   /  发表于:2024-11-27 09:49:07
13#
Wilson.Zhang 发表于 2024-11-26 17:21
您好!
问题1:点击表角选中整张sheet,相当于选中区域为整张sheet,通过Worksheet:clearSelection()清 ...

问题1有没有办法可以阻止表角的默认行为,如果通过Worksheet:clearSelection()取消全选,会出现先全选然后取消的效果,感觉不太好
回复 使用道具 举报
阿达西
注册会员   /  发表于:2024-11-27 17:07:36
15#
Wilson.Zhang 发表于 2024-11-27 12:17
可以监听SelectionChanging事件,当点击表角时会选中整张sheet,该事件可以监听到被选择的区域,包含起始 ...

可以了,非常感谢大佬
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-28 08:34:08
16#
阿达西 发表于 2024-11-27 17:07
可以了,非常感谢大佬

不客气,解决了就好,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部