2012-08-01 52 views
0

我在这里有一些遗留的代码,我使用jqGrid为了分页一些XML数据。 XML包含354条记录,并且页面加载后会立即显示前20条记录,但jqGrid不会显示链接以浏览其他记录并对它们进行分页。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" 
      } 
     }, 
    }); 
});​ 

如果你知道什么是可能造成此错误,请告诉我。

回答

0

我会建议增加一个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