jqGrid不显示行,仅显示总行数

我有一个问题,我无法解决它。

请先看看这张图片

在此处输入图像描述 如您所见,我已经能够从服务器请求JSON数据。 寻呼机显示有4条记录。 但记录没有显示在表格中。

这是我的javascript代码

jQuery("#pickFlex66").jqGrid({ url: root + '' + '/listpicker', datatype: "json", altRows: true, mtype: 'POST', colNames:['Code','Company Name'], colModel:[ {name:'company_code',index:'company_code', width:100}, {name:'company_name',index:'company_name', width:100} ], rowNum:10, width: 540, height: 310, rowList:[10,20,30], pager: '#pagerFlex66', sortname: 'company_code', shrinkToFit: false, viewrecords: true, sortorder: "desc", caption:"", onSelectRow: function(id){ } }); jQuery("#pickFlex66").jqGrid('navGrid','#pagerFlex66',{edit:false,add:false,del:false,search:false}); 

这是我的JSON数据

 { "page": "1", "total": 0, "records": "4", "rows": [{"id":"5","cell":["55-123","123"]},{"id":"3","cell":["123","IBM"]},{"id":"2","cell":["00000","BDO"]},{"id":"1","cell":["000-00","IT GROUP Inc "]}] } 

我的javascript中有错误吗? 或者也许在我的JSON数据中?

我同意Briguy37的意思是"total": 0是奇怪的,并且原因不正确。 不过jqGrid应该显示所有数据。

我想你的代码中没有在这里发布的问题 。 如何从演示中看到您发布的代码可以读取并显示JSON数据。

这里有几个问题……但是还没弄清楚为什么你的结果还没有填充,但是:

返回的JSON中的Total应该是页数。 因为它设置为0 ,所以它显示为0 。 此外,如果您更改每页的结果数,您可能希望将rowCount返回为10。

你错过了一个json阅读器,我有完全相同的问题。

 $("#list").jqGrid({ url : "my-json-table-action' />", datatype: 'json', jsonReader: { root: 'gridModel', id: 'idTT', repeatitems: false, }, resize: false, hidegrid: false, data: 'trabajosTerminales', mtype: 'POST', height: 'auto', colNames:['No. de Registro', 'Título', 'Tipo', 'Periodo'], colModel :[ {name:'numRegistro', index:'titulo', search: 'true', stype:'text', align:'center' searchrules:{required:true}, width:100 }, {name:'titulo', key:'true', index:'titulo', search: 'true', stype:'text', searchrules:{required:true}, width:800 }, {name:'tipo', key:'true', index:'tipo', search: 'true', stype:'text',align:'center', searchrules:{required:true}, width:100 }, {name:'periodo', key:'true', index:'titulo', search: 'true', stype:'text', searchrules:{required:true}, width:100 }, ], pager: '#pager', rowNum:10, rowList:[10,20,30], viewrecords: true, gridview: true, caption: 'Trabajos Terminales dirigidos', }); jQuery("#list").navGrid('#pager',{edit:false,add:false,del:false}); }); 

如果根元素是包含数据的数组,在这种情况下我将数据返回到名为’gridModel’的数组中,则不需要id。 但是你必须确保正确设置根元素,在你的情况下它被称为’rows’而不是’gridModel’。