找回密码
 立即注册

QQ登录

只需一步,快速开始

钛和集团

初级会员

34

主题

120

帖子

382

积分

初级会员

积分
382
钛和集团
初级会员   /  发表于:2024-6-3 18:26  /   查看:1082  /  回复:3
本帖最后由 钛和集团 于 2024-6-4 09:47 编辑

image.png31420592.png

我看例子都是放在列头,我想放在上图这位置什么实现啊,我一直没找到方法

3 个回复

倒序浏览
eat_grape_5
高级会员   /  发表于:2024-6-4 10:48:05
沙发
您好!参考官网教程提供一个解决思路:

1. 自定义全选按钮单元格类型,令其原型为GC.Spread.Sheets.CellTypes.CheckBox;
2. 覆写全选按钮单元格类型的原型方法:paint、getHitInfo、processMouseUp,在processMouseUp方法中实现全选按钮控制单选按钮的逻辑,而processMouseUp方法需要hitInfo参数,因此在getHitInfo方法中返回单元格的匹配信息,在paint方法中调用CheckBox的原型的paint方法实现渲染效果。
3. 单选按钮的状态反作用于全选按钮的状态,针对这一控制逻辑注册按钮点击事件,当单选按钮被点击时轮询所有受全选按钮控制的单选按钮,当存在单选按钮状态为false时设置全选按钮状态为false,否则全选按钮状态为true。

附件即解决思路实现Demo,参考自官网教程:列头全选框(https://demo.grapecity.com.cn/SpreadJS/cdn/extendedExample/#/demos/columnHeaderCheckBox)。

option-button-demo.zip

2.93 KB, 下载次数: 181

回复 使用道具 举报
钛和集团
初级会员   /  发表于:2024-6-4 12:12:58
板凳
eat_grape_5 发表于 2024-6-4 10:48
您好!参考官网教程提供一个解决思路:

1. 自定义全选按钮单元格类型,令其原型为GC.Spread.Sheets.Cell ...

可以了,谢谢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-6-4 14:58:22
地板
好的,那就先结贴了,后续有其他问题的话随时开新帖提问哈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部