2016-05-03 47 views
0

当我使用PuTTY与我的父亲一起编程时,我遇到了子网格数据问题。我们用一个子网格做网格;这会收到JSON和PHP响应。我们在Mozilla的压制和JavaScript代码的语法中看到它。是否可以,而不是语法或语义问题?我不知道为什么我的jqGrid子网格不显示数据

嗯,这是my page和我的代码:

$(document).ready(function() { 
    $("#divFacturas").html("<table><tr><td><table id='grillaFac' name='grillaFac' style=' height=2500px width=100%'></table> <DIV id='pggrillaFac' name='pggrillaFac'></DIV></td></tr></table>"); 
    var usuario = $("#usuario").val(); 
    var clave = $("#clave").val(); 
    creaGrillaFacturas(usuario, clave); 

    function creaGrillaFacturas(usuario, clave) { 
     jQuery("#grillaFac").jqGrid(
     { 
      url:'ajaxFacturas.php?usuario=' + usuario + '&clave=' + clave, 
      datatype: "json", 
      colNames:['Codigo', 'Tipo', 'Fecha/hora Comprobante', 'Comprobante', 'Debito', 'Credito', 'Resumen'], 
      colModel:[ { name:'codigo', index:'codigo', width: 80, sorttype:'int'}, 
         { name:'tipo', index:'tipo'}, 
         { name:'fecha', index:'fecha'}, 
         { name:'numero', index:'numero'}, 
         { name:'debito', index:'debito', align: 'right', formatter:"number", summaryType:'sum' }, 
         { name:'credito', index:'credito', align: 'right', formatter:"number", summaryType:'sum' }, 
         { name:'resumen', index:'resumen', align: 'right'} 
        ], 
      rowNum: 1000, 
      shrinkToFit: true, 
      forceFit:true, 
      loadtext: 'Cargando', 
      //loadonce: true, 
      viewrecords: true, 
      pager: '#pggrilla', 
      altRows: true, 
      sortname: 'codigo', 
      sortorder: "desc", 
      forceFit : true, 
      ignoreCase: true, 
      caption:"Comprobantes encontrados", 
      //jsonReader: { repeatitems : false, id: 'codigo', 
      //subgrid: {root: "rows", repeatitems: false}}, 
      jsonReader: { repeatitems: false, id: 'codigo'}, 
      grouping : true, 
      groupingView : { groupField: ['resumen'], 
          groupSummary: [true], 
          groupColumnShow: [true], 
          groupText: ['<b>Resumen Nro.: {0}</b>'], 
          groupCollapse: false, 
          groupOrder: ['desc']}, 
      subGrid: true, 
      subGridRowExpanded: function (subgrid_id, row_id) { 
       var subgrid_table_id, pager_id; 
       subgrid_table_id = subgrid_id+"_t"; 
       pager_id = "p_"+subgrid_table_id; 
       $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>"); 
       jQuery("#"+subgrid_table_id).jqGrid({ 
        url:"subgrid.php?q=1162&id="+row_id, 
        dataype:"json", 
        colNames: ['Articulos', 'Descripcion', 'Cantidad', 'Precio unitario'], 
        colModel:[ 
         {name:"articulo", index:"articulo", width:100}, 
         {name:"detalle", index:"detalle", width:100}, 
         {name:"cantidad", index:"cantidad", width:100}, 
         {name:"precio", index:"precio", width:100} 
        ], 
        rowNum:20, 
        viewrecords: true, 
        //pager: pager_id, 
        sortname:'articulo', 
        sortorder:"asc", 
        height: '100%' 
       }); 
       //jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false}) 
      } 
     }); 

     jQuery("#grillaFac").jqGrid('hideCol', ['codigo']); 
     jQuery("#grillaFac").jqGrid('navGrid', 'pggrillaFac', 
       {search:true, edit:false, add:false, del:false}); 

     $("#grillaFac").setGridWidth($(window).width()-50); 
     $("#grillaFac").setGridHeight($(window).height()-50); 
    } 
}); 

我希望你能帮助我:d。

+0

您的意思是SSH客户端PuTTY,意味着您正在SSH远程计算机上工作,或者您指的是其他内容? –

+0

SSH客户端PuTTY是的,我用它来编辑我认为服务器.. – tzanuttini

+1

是的,你可能用它来连接到服务器,你在那里做的工作......好吧,我只是想知道是否有可能是JS库叫腻子什么的。嗯,我想知道的另外一件事是,当你写'depuring'时,你的意思是再写一个字。如果是这样的话? –

回答

1

代码中最重要的错误是输入错误:您使用dataype:"json"而不是datatype:"json"作为子网格的选项。未知选项dataype将被忽略,将使用选项datatype的默认值"xml"。服务器返回JSON数据,jqGrid将尝试将数据解析为XML数据。

我建议你不要使用jqGrid的复古版本。您目前使用jqGrid 4.4.1,这是4岁。它相当于驾驶40岁的汽车。我建议你使用免费的jqGrid 4.13.2并直接从CDN加载它。您只需将URL修改为jqGrid文件即可在the wiki article中描述的URL。

此外,将idPrefix选项添加到子网格并使用某些值的唯一值作为前缀将很重要。例如,您可以使用idPrefix: "s_" + row_id + "_"idPrefix: subgrid_id或仅使用idPrefix: $.jgrid.randId()。在articulo列中添加key: true似乎也不错。

+0

Thx so much,we have to change the version of the jqGrid并添加字符。你节省了我月薪:D – tzanuttini

+0

@tzanuttini:不客气!我很高兴能帮助你。我建议你添加Font Awesome并为jqGrid添加'iconSet:“fontAwesome”'选项来改善网格的外观。请参阅初步文档和[wiki文章](https://github.com/free-jqgrid)中的[示例](http://free-jqgrid.github.io/getting-started/index.html#type_of_data_code) /的jqGrid /维基)。在免费的jqGrid中实现的许多其他新功能在每个发布版本和wiki中的自述文件中都有描述。 – Oleg

相关问题