起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7067|回复: 9

[处理中3] grid多选问题

[复制链接]

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
发表于 2018-10-29 10:38:26 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
grid组件多选问题,因为分页会触发刷新,所以上一页选中的数据,就会在刷新后不再是选中状态,为了可以记住之前选的数据,我的界面设计是两个grid,上面一个是所有待我选的数据列表,下面一个是我选中的数据,上面grid绑定是bizdata,下面是我新建的一个cData,我在上面grid的onRowChecked事件中判断,如果选中,cData就新增一条,到这里没有任何问题,但是下面的grid也需要多选删除,删除时有时删不干净,例如第一次操作:上面grid一页是10条,我点击全选,下面的grid也就新增了10条,全选下面的grid10条,点击删除,下面的grid没有数据,到这里没有什么问题,第二次操作:实际就是重复第一次的操作,点击上面grid全选,下面grid增加10条,当点击下面grid全选时,在代码里通过getCheckeds()方法,拿到了15条,其中有几条是重复的,继续按照第一次的操作,以此类推,发现通过getCheckeds()方法拿到的数据越来越多

新增的方法

新增的方法

删除的方法

删除的方法

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-29 10:54:42 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-10-29 12:11:47 | 显示全部楼层
本帖最后由 旗开得胜 于 2018-10-29 12:15 编辑

亲,请仔细看下我的描述,实际上我已经实现了因为分页导致之前选中的数据无法记住的问题,现在我的问题是,选中的数据,我在删除后,再次选中明明就选了10条,但是看后台是15条,重复全选-全选删除这个操作,在全选删除的时候发现选中的数据不断的递增,希望你能在你本地试一下
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-29 13:59:54 | 显示全部楼层
2楼的方案测试过没有问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-10-30 09:15:10 | 显示全部楼层
稍后我试下2楼的方法,那我的这个问题的根本原因是啥
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-30 09:28:56 | 显示全部楼层
分页记住选择的记录应该是在data刷新事件中操作,而且遍历data也不是你用的方法,data中提供的有each方法进行遍历
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-10-30 09:55:07 | 显示全部楼层
本帖最后由 旗开得胜 于 2018-10-30 09:56 编辑

首先分页记住这个目前没有问题,而且我的思路是,点击上面的grid,我可以拿到你选择的数据,这样我在grid的onRowChecked事件拿到当前人选择的数据,然后我将数据插入到一个定义好的cData中(就是cData新建一条数据),这个思路没有问题,你选一条我记录一条,循环是为了去重,循环的length和id的比较都是可以在debugger中查到的,整个过程为什么不行,哪里有问题,而且我目前面临的问题是,我已经选完数据了,下面的gri的也已经记录了我选择的数据,记录的数据从界面上看没有问题,只是在点击删除按钮时,通过grid组件的getCheckeds()方法拿到的数据多了,我不明白为什么界面上显示的是10条,后台代码居然是15条,以此类推,会更多
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-30 09:58:57 | 显示全部楼层
你选一条我记录一条,循环是为了去重,如果选择的去掉,那记录的data中删除了吗?


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

165

主题

522

帖子

1156

积分

金牌会员

Rank: 6Rank: 6

积分
1156
QQ
 楼主| 发表于 2018-10-30 10:25:56 | 显示全部楼层
你看我第二张截图,我所说的在操作第二遍删除后,拿到的数据多了,就是指1楼我发的第二张截图中的rowIDs的值是15条,而界面上只有10条,删除也是在第二张截图中操作的
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-30 10:49:09 | 显示全部楼层
推荐按照2楼的方法操作,你的方法后面有时间本地再去调试
我说的删除是取消勾选的删除,不是你所说的删除,而且每次点击都去操作数据,数据多遍历本来也会影响效率
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-28 16:55 , Processed in 0.073274 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表