找回密码
 立即注册

QQ登录

只需一步,快速开始

程迦

初级会员

47

主题

132

帖子

427

积分

初级会员

积分
427
程迦
初级会员   /  发表于:2022-8-24 19:43  /   查看:3102  /  回复:3
100金币
需求是连续行移除,例如有十行,勾选前五行,使用view.remove,希望在视图上移除勾选的连续行遇到的问题:
视图上第1,3,5行被移除,剩下2,4行并未移除,
是直接取的勾选行index,直接view.remove(index)
另外勾选单数行就可以,完整移除选中的单数行(例如勾选 2,3,5,7行,那么2,5,7行均能被移除,3与2连续,所以3没有被移除)
猜测如下:
在使用view.remove(index)时,第一行被移除后,视图直接默认下一行为选中行不能被移除

比较急,如果有可以连续移除行的,可以直接上代码,谢谢

最佳答案

查看完整内容

你用的是remove还是removeAt remove传入的是item,不是index,removeAt才是index 我看你的描述假设你用的是removeAt(index)吧, 比如连续执行下面的代码,第一句代码执行完第一行被删除后,第三行就变成了第二行,那么执行第二句代码自然删除的就是第三行 theGrid.collectionView.removeAt(0); theGrid.collectionView.removeAt(1); 你可以选择从后往前删来规避问题 也可以通过view.items提前获取所 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-24 19:43:53
来自 2#
你用的是remove还是removeAt

remove传入的是item,不是index,removeAt才是index

我看你的描述假设你用的是removeAt(index)吧,
比如连续执行下面的代码,第一句代码执行完第一行被删除后,第三行就变成了第二行,那么执行第二句代码自然删除的就是第三行
        theGrid.collectionView.removeAt(0);
        theGrid.collectionView.removeAt(1);
你可以选择从后往前删来规避问题

也可以通过view.items[index]提前获取所有需要删除的item,然后用 view.remove(item)统一删
回复 使用道具 举报
程迦
初级会员   /  发表于:2022-8-25 09:46:49
3#
Richard.Ma 发表于 2022-8-25 09:30
你用的是remove还是removeAt

remove传入的是item,不是index,removeAt才是index

好的谢谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-25 10:04:16
4#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部