找回密码
 立即注册

QQ登录

只需一步,快速开始

River

注册会员

2

主题

8

帖子

20

积分

注册会员

积分
20
  • 78

    金币

  • 2

    主题

  • 8

    帖子

最新发帖
River
注册会员   /  发表于:2023-6-28 11:04  /   查看:1117  /  回复:5
1金币



在这个示例中和API中来看 开发者无法自定义多个选区的设置
我的需求是 :    1.设置FlexGrid的 selectionMode = SelectionMode.MultiRange
                        2.自定义一个下拉框 用来设置选择多个不连续的 行range,或者取消某些非一整行的range, 从使用角度来看, Selection类应该提供类似于这样的方法让开发者可以操控选择的设定。
                             2.1add(rowIndex: number, colIndex?: number):将指定行和列添加到选择区域中。如果省略 colIndex 参数,则会选择整行。  
                2.2 remove(rowIndex: number, colIndex?: number):从选择区域中移除指定的行和列。如果省略 colIndex 参数,则会移除整行。
              2.3 clear():清空所有选择区域,取消选择所有行和列。
如果有其他方案可以解决,请告诉我一下方案。


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

是的,没有办法自己增减和删除, 不过换个思路,你能获取和设置,那么在获取后自己增删获取到的多区域array肯定是没有问题的,最后设置回去就行

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-28 11:04:51
来自 4#
是的,没有办法自己增减和删除,

不过换个思路,你能获取和设置,那么在获取后自己增删获取到的多区域array肯定是没有问题的,最后设置回去就行
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-28 12:17:20
2#
如果你是想要通过代码设置一个多区域的选中,那么可以用下面的代码,前提是,你的多选模式设置的是正确的

  1.         var rangearray=[];
  2.         rangearray.push(new CellRange(0,0,2,2));
  3.         rangearray.push(new CellRange(3,3,4,4));
  4.         theGrid.selectedRanges=rangearray;
复制代码

回复 使用道具 举报
River
注册会员   /  发表于:2023-6-28 12:30:47
3#
意思是,无论如何这个操作只能覆盖。区域自己组装,不能只调用API增删?
回复 使用道具 举报
River
注册会员   /  发表于:2023-6-28 17:57:01
5#
好的,谢谢,你发给我的解决方案是可行的,我可能偏执的希望更加合理的从实现设计上去解决
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-6-28 19:05:47
6#
嗯,不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部