我正在尝试使用jqGrid显示网格。一切似乎都很好。该表正在渲染,但所有单元格都是空的。所有其他信息都在桌子上(页码,总页数,行数)。尝试更改页面时,正在检索json数据而没有任何问题。
以下是我的代码片段:
<script type="text/javascript">
$(document).ready(function() {
$("#list2").jqGrid({
url:'/ajax/list/facture',
datatype: "json",
colModel:[
{label:'N° d\'article', name: 'code', width:90},
{label:'Article', name: 'article', width:100},
{label:'Entrepôt', name: 'entrepot', width:80, align:"right"},
{label:'Limite', name: 'limite', width:80, align:"right"},
{label:'À commander', name: 'qte_a_commander', width:80,align:"right"},
{label:'Déjà commander', name: 'qte_deja_commander', width:150},
{label:'Coût', name: 'cout', width:150},
{label:'Prix', name: 'prix', width:150},
{label:'Coût total', name: 'cout_total', width:150}
],
rowNum:100,
scoll: true,
//rowList:[10,20,30],
pager: '#pager2',
//sortname: 'code',
viewrecords: true,
sortorder: "desc",
jsonReader: {
repeatitems : false,
id: "0"
},
//sortorder: "desc",
caption:"Inventaire",
width: 1200,
height: 200
});
$("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false});
});
</script>
<table id="list2"></table>
<div id="pager2"></div>
发送了我的json数据:
{
"page":"1",
"total":33,
"records":"100",
"rows":[
{"id":1,"cell":{"code":"0064NB","article":"Livre","entrepot":"4","limite":"3","qte_a_commander":"3","qte_deja_commander":"0","cout":"3.40","prix":"30.99","cout_total":"13.60"}},
{"id":2,"cell":{"code":"0072NB","article":"Livre et corrig\u00e9","entrepot":"5","limite":"3","qte_a_commander":"3","qte_deja_commander":"0","cout":"3.40","prix":"30.99","cout_total":"17.00"}}
/*[... got over 100 fields ...]*/
]}
答案 0 :(得分:1)
我不认为这是正确的格式。您定义的JSONReader需要像这样的JSON数据
{
"page":"1",
"total":33,
"records":"100",
"rows":[
{"id":1,"code":"0064NB","article":"Livre","entrepot":"4","limite":"3","qte_a_commander":"3","qte_deja_commander":"0","cout":"3.40","prix":"30.99","cout_total":"13.60"},
{"id":2,"code":"0072NB","article":"Livre et corrig\u00e9","entrepot":"5","limite":"3","qte_a_commander":"3","qte_deja_commander":"0","cout":"3.40","prix":"30.99","cout_total":"17.00"}
/*[... got over 100 fields ...]*/
]}
阅读有关retrieving data in the jqGrid wiki的章节。实际上我发现更改服务器端JSON输出更容易,而不是为jQGrid定义自定义阅读器。
答案 1 :(得分:1)
嗯,能够使用索引而不是名称来使其工作
colModel:[
{label:'Code', index: 'code', width:90},
{label:'Article', index: 'article', width:100},
{label:'Entrepôt', index: 'entrepot', width:80, align:"right"},
{label:'Limite', index: 'limite', width:80, align:"right"},
{label:'À commander', index: 'qte_a_commander', width:80,align:"right"},
{label:'Déjà commander', index: 'qte_deja_commander', width:150},
{label:'Coût', index: 'cout', width:150},
{label:'Prix', index: 'prix', width:150},
{label:'Coût total', index: 'cout_total', width:150}
],
并且没有命名我的json数据:
{
"page":"1",
"total":33,
"records":"100",
"rows":
[
{"id":1,"cell":["0064NB","Livre","4","3","3","0","3.40","30.99","13.60"]},
{"id":2,"cell":["0072NB","Livre corrig\u00e9","5","3","3","0","3.40","30.99","17.00"]}
]
}