您好!参考官网教程提供一个解决思路:
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)。
|
|