datagrid("getSelections")只获取一行

页面加载方法如下

function loadSfXtjsList(sfXtjsListId, url, onClickFun) {

    $("#eastPanel").panel({
        onCollapse: function() {
            window.isExpandEast = true;
        }
    })
    $("#" + sfXtjsListId).datagrid( {
        fit :true,
        nowrap :true,
        border :false,
        autoRowHeight :false,
        striped :true,
        singleSelect :false, //
        collapsible :true,
        rownumbers :true,
        //checkOnSelect :true,
        url :url,
        remoteSort :false,
        idField :'bh',
        pagination :true,
        fitColumns: true,
        columns : [
            [
                 {
                     field :'bh',
              checkbox:true
                },{
                    field :'yhbh',
                    title :'用户编号',
                    width :100
                }, 
                 {
                    field :'cnq',
                    title :'采暖期',
                    width :100
                ···
                
            ]
        ],
          
        onBeforeLoad : function() {
            $("#" + sfXtjsListId).datagrid("clearSelections");
        }
    });
    
}

选择多条记录进行操作时,var rows = $('#thirdPayList').datagrid("getSelections"); 实际却只获取了一条记录。

 原因在于bh不唯一,修改后台代码使其获取表中不重复的bh得以解决。

另:执行datagrid("getSelections")方法时,需要设置 idField ,datagrid("getSelections")获取选中行是根据所选行的idField进行区分的,即如果idField是不变的话,无论选取多少行,返回的结果都只有一行。

原文地址:https://www.cnblogs.com/zjfjava/p/7990105.html