jQuery MiniUI

 找回密码
 立即注册
查看: 2649|回复: 6
打印 上一主题 下一主题

grid.selects(rows);问题 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2017-2-15 16:57:47 |只看该作者 |倒序浏览
grid.selects(rows);
总是选中第一行,输出grid.indexOf(rows[0])是-1
请问是什么原因

Rank: 8Rank: 8

沙发
发表于 2017-2-15 17:32:48 |只看该作者
selects(rows)应该选中多行
看你这rows数据里面到底有些什么了
看你这rows[0]都不是grid中的行啊

Rank: 1

板凳
发表于 2017-2-16 08:31:25 |只看该作者
var selectMaps = {};
       
                //////////////////////////////////
               
                function onGridLoad(e) {
                        var rows = selectMaps[grid.getPageIndex()];
                        var r2 = grid.getData();
                        debugger;
                                grid.selects(rows);
                }
                function onSelectoinChanged(e) {
                        var rows = grid.getSelecteds();
                        selectMaps[grid.getPageIndex()] = rows;
                }

就是这一句grid.selects(rows);不执行。

Rank: 1

地板
发表于 2017-2-16 08:35:14 |只看该作者
felt 发表于 2017-2-15 17:32
selects(rows)应该选中多行
看你这rows数据里面到底有些什么了
看你这rows[0]都不是grid中的行啊 ...

var selectMaps = {};
         
                //////////////////////////////////
                 
                function onGridLoad(e) {
                         var rows = selectMaps[grid.getPageIndex()];
                         var r2 = grid.getData();
                         debugger;
                                 grid.selects(rows);
                 }
                 function onSelectoinChanged(e) {
                         var rows = grid.getSelecteds();
                         selectMaps[grid.getPageIndex()] = rows;
                 }

就是这一句grid.selects(rows);不执行。

Rank: 8Rank: 8

5#
发表于 2017-2-16 09:18:16 |只看该作者
username1 发表于 2017-2-16 08:35
var selectMaps = {};
         
                //////////////////////////////////

看你这代码和我们示例差不多啊
我们示例里面是可以正常选中的,你这不能选中的话调试一下看不能选中的时候你获取到的rows是什么

Rank: 1

6#
发表于 2017-2-16 09:31:36 |只看该作者
dforce 发表于 2017-2-16 09:18
看你这代码和我们示例差不多啊
我们示例里面是可以正常选中的,你这不能选中的话调试一下看不能选中的时 ...

function onGridLoad(e) {
                        var rows = selectMaps[grid.getPageIndex()];
                        var r2 = grid.getData();
                        var rr = new Array();
                        for (var i = 0; i < r2.length; i++) {
                                for (var j = 0; j < rows.length; j++) {
                                        if(r2.Id==rows[j].Id){
                                        rr.push(r2)
                                        }
                                }
                        }
                        grid.selects(rr);
                }
               

我这样的话就能选中了,这两个row中的数据我看着都是一样的

所以问题来了
grid.getData();
grid.getSelecteds();
这两个获得的数据的不同之处在哪里。

Rank: 8Rank: 8

7#
发表于 2017-2-16 10:28:35 |只看该作者
username1 发表于 2017-2-16 09:31
function onGridLoad(e) {
                        var rows = selectMaps[grid.getPageIndex()];
                        var r2 = grid.getData() ...

getData获取当页所有数据
getSelecteds获取当前页选中项

Archiver|普加软件

GMT+8, 2024-9-29 09:38 , Processed in 1.038885 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部