free-jqgrid:getLocalRow在free-jqgrid4.13.6中返回false

时间:2017-02-16 04:18:16

标签: jquery jqgrid free-jqgrid

enter image description here我们在jqgrid 4.3中使用了以下代码。现在我升级到4.13.6。下面的代码在4.3中工作,但在4.13中,它返回false ...任何帮助请...

var grid = $("#myGrid").jqGrid('getRowData');
$.each(grid, function(key, value) {
    selectedRow = key+1;
    var rowData = $("#myGrid").jqGrid('getLocalRow', selectedRow);
});

填充网格时我没有使用任何ID。数据类型:json,rownumbers:true。

当我调试时,我看到每行的ID是'jqg41','jqg42'等等......有时它是'jqg61','jqg62'等...这是一个随机数,后面追加了'jqg'

更多代码(但未完成的代码)

$grid.jqGrid({
                    datatype: 'json',
                    url: 'myUrl/byFileId.do?custId='+custId,
                    mtype: 'GET',
                    ajaxSubgridOptions: { async: false },
                    colNames:[ col1, col2 ...],
                    colModel:[    
                        . . .
                        . . .
                        . . .
                    ],  
                    headertitles:true,
                    rowNum:999,
                    rowList:[],
                    pager: '',
                    records: 1000,
                    pgbuttons : false,
                    viewrecords : false,
                    pgtext : null,
                    pginput : false,
                    gridview:true,
                    ignoreCase:true,
                    rownumbers:true,
                    sortname: 'invdate',
                    viewrecords: true,
                    sortorder: 'desc',
                    multiselect: true, 
                    caption: "Customer Search Result",
                    height: '100%',
                    editurl: 'clientArray',
                    autoencode: true,
                    loadonce: true,
                    multiselectWidth: 30,
                    width: rmtPageTitleWidth,
                    viewsortcols : [true,'vertical',true],
                    onSortCol: function (index, idxcol, sortorder) {
                        rowIdAndNoOfRowPair = [];
                        if (this.p.lastsort >= 0 && this.p.lastsort !== idxcol
                                && this.p.colModel[this.p.lastsort].sortable !== false) {
                            $(this.grid.headers[this.p.lastsort].el).find(">div.ui-jqgrid-sortable>span.s-ico").show();
                        }
                    },

enter image description here

1 个答案:

答案 0 :(得分:0)

你可以使用

var localData = $("#myGrid").jqGrid("getGridParam", "data");

将所有本地数据作为数组获取。它是对jqGrid的内部数据的引用

更新:如果网格已排序或已过滤 本地,并希望以相同顺序从所有行获取数据,那么您应该获得lastSelectedData参数而不是data。您可以通过jqGrid的forceClientSorting: true参数loadonce: true从服务器加载后在本地强制对数据进行排序。

示例https://jsfiddle.net/OlegKi/akv51mdq/在本地数据的情况下演示lastSelectedData,其中没有ID信息。另一个演示https://jsfiddle.net/OlegKi/Ljejoh21/对从服务器一次加载的数据执行相同的操作。