jqGrid不显示分页链接

Posted

技术标签:

【中文标题】jqGrid不显示分页链接【英文标题】:jqGrid not displaying pagination links 【发布时间】:2012-07-30 21:14:56 【问题描述】:

我这里有一些遗留代码,我正在使用 jqGrid 来对一些 XML 数据进行分页。 XML 包含 354 条记录,其中前 20 条在页面加载后立即显示,但 jqGrid 不显示链接以浏览其他记录并对其进行分页。

我确信 jqGrid 正在获取完整的 XML,它甚至说 Viewing 1 - 20 of 354,但实际上并没有让我分页。

如果我输入分页编号(例如,第 2 页的“2”)并输入它,它会发出一个 HTTP 请求(返回 200 状态)并且什么都不做!

这是分页的JS代码:

$(document).ready(function() 
    erc_id = $('#erc_id').val();

    jQuery("#list4").jqGrid(
        url: "/ercs/" + erc_id + "/exemplares.xml",
        datatype: "xml",
        width: 650,
        pager: "gridPager",
        height: 'auto',
        xmlReader: 
            root: "exemplares",
            row: "exemplar",
            repeatitems: false,
            id: "id"
        ,
        colNames: ['Código', 'Referência', 'Num. Controle', 'Dt. Moldagem', 'Traço'],
        colModel: [
            
            name: 'codigo',
            index: 'codigo',
            width: 60,
            sortable: false,
        
            name: 'referencia',
            index: 'referencia',
            width: 160,
            sortable: false,
        
            name: 'numero-controle',
            index: 'numero-controle',
            width: 60,
            sortable: false,
            align: 'center',
        
            name: 'data-moldagem',
            index: 'data-moldagem',
            width: 60,
            sortable: false,
        
            name: 'traco',
            index: 'traco',
            width: 60,
            sortable: false,
            xmlmap: "traco>reference",
            ],
        viewrecords: true,
        caption: "Exemplares",
        subGrid: true,
        subGridRowExpanded: function(subgrid_id, row_id) 
            var subgrid_table_id = subgrid_id + "_t";
            my_row_id = row_id
            $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");
            row_id = row_id.replace("5687", "");
            jQuery("#" + subgrid_table_id).jqGrid(
                url: "/ercs/" + erc_id + "/exemplares/" + row_id + "/cps.xml",
                datatype: "xml",
                height: 'auto',
                width: 550,
                xmlReader: 
                    root: "cps",
                    row: "cp",
                    repeatitems: false,
                    id: "id"
                ,
                colNames: ['Número', 'Carga', 'Idade', 'Prensa', 'Retifica', 'Ruptura', 'retifica', 'N cont antigo'],
                colModel: [
                    
                    name: "numero",
                    index: "numero",
                    width: 60,
                    sortable: false,
                
                    name: "carga",
                    index: "carga",
                    width: 50,
                    sortable: false,
                    align: 'center',
                
                    name: "idade",
                    index: "idade",
                    width: 30,
                    sortable: false,
                    align: 'center',
                
                    name: "prensa",
                    index: "carga",
                    width: 30,
                    sortable: false,
                    align: 'center',
                
                    name: "carga",
                    index: "carga",
                    width: 50,
                    sortable: false,
                    align: 'center',
                
                    name: "ruptura",
                    index: "ruptura",
                    width: 50,
                    sortable: false,
                    align: 'center',
                
                    name: "retifica",
                    index: "retifica",
                    width: 50,
                    sortable: false,
                    align: 'center',
                
                    name: "numero-controle-antigo",
                    index: "numero-controle-antigo",
                    width: 50,
                    sortable: false,
                    align: 'center'
                            ]
            );
        ,
        ondblClickRow: function(id) 
            id = id.replace("5687", "");
            if (typeof my_row_id !== "undefined") 
                my_row_id = my_row_id.replace("5687", "");
                window.location = "/ercs/" + erc_id + "/exemplares/" + my_row_id + "/cps/" + id + "/edit"
             else 
                window.location = "/ercs/" + erc_id + "/exemplares/" + id + "/edit"
            
        ,
    );
);​

如果您知道可能导致此错误的原因,请告诉我。

【问题讨论】:

【参考方案1】:

我建议将gridComplete 函数添加到您的网格定义中,然后您就可以轻松地检查一些控制分页的值:

gridComplete: function()
  var r = $(this).getGridParam('records');
  var p = $(this).getGridParam('page');
  var rec = $(this).getGridParam('reccount');
  var row = $(this).getGridParam('rowNum');

这里是所有记录的地方:

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:pager#properties

【讨论】:

以上是关于jqGrid不显示分页链接的主要内容,如果未能解决你的问题,请参考以下文章

JqGrid分页按钮图标不显示的bug

记一次jqgrid中treegrid不显示翻页按钮

jqGrid 如何控制分页显示以及数据条数。

如何解决 JQgrid 中的分页器显示

Jqgrid 分页器值显示 1 of 0

jqgrid分页后,自定义查询数据怎么得到所有页的某列值的合计