我没有';我不知道为什么我的jqGrid子网格没有';不要给我看数据


I don't know why my jqGrid subgrid doesn't show me the data

当我使用PuTTY与父亲一起编程时,我的子网格数据有问题。我们用一个子网格做一个网格;它接收JSON和PHP响应。我们在Mozilla的代理和JavaScript代码的语法中看到了这一点。这可以吗,不是语法或语义的问题?

这是我的页面和代码:

$(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。

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

我建议您不要使用jqGrid的复古版本。您当前使用的是jqGrid 4.4.1,该版本已有4年历史。这相当于驾驶40年前的汽车。我建议您使用免费的jqGrid 4.13.2,并直接从CDN加载。您只需要将jqGrid文件的URL修改为wiki文章中描述的URL。

此外,将idPrefix选项添加到子网格中并使用一些唯一的值作为前缀也很重要。例如,可以使用idPrefix: "s_" + row_id + "_"idPrefix: subgrid_id,也可以仅使用idPrefix: $.jgrid.randId()。在CCD_ 11中加入CCD_。