jQuery MiniUI

标题: grid.selects(rows);问题 [打印本页]

作者: username1    时间: 2017-2-15 16:57:47     标题: grid.selects(rows);问题

grid.selects(rows);
总是选中第一行,输出grid.indexOf(rows[0])是-1
请问是什么原因

作者: felt    时间: 2017-2-15 17:32:48

selects(rows)应该选中多行
看你这rows数据里面到底有些什么了
看你这rows[0]都不是grid中的行啊
作者: username1    时间: 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);不执行。

作者: username1    时间: 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);不执行。
作者: dforce    时间: 2017-2-16 09:18:16

username1 发表于 2017-2-16 08:35
var selectMaps = {};
         
                //////////////////////////////////

看你这代码和我们示例差不多啊
我们示例里面是可以正常选中的,你这不能选中的话调试一下看不能选中的时候你获取到的rows是什么
作者: username1    时间: 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();
这两个获得的数据的不同之处在哪里。
作者: dforce    时间: 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获取当前页选中项




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2