2011-08-30 92 views
1

我有一个问题,我无法整理出来。jqGrid没有显示行,只显示总行数

请看看这个图片第一

enter image description here 正如你所看到的,我已经能够从服务器请求JSON数据。该寻呼机显示有4条记录。但是这些记录没有显示在表格中。

这是我的javascript代码

jQuery("#pickFlex66").jqGrid({ 
    url: root + '<?=$mod?>' + '/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:"<?=lang("users_title")?>", 
    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数据?

回答

1

我Briguy37同意值"total": 0是陌生而造成的不正确。尽管如此,jqGrid应该显示所有数据。

我想你已经在你不在这里贴出你的代码的一部分问题。您如何从the demo中看到您发布的代码可以读取并显示JSON数据。

+0

嗨,奥列格,是的,我已经改变了总数为1:D,是的它仍然没有显示任何数据行:D很奇怪,我必须说无论如何,我会看看你的链接,并调查我可能做错了什么..非常感谢 –

0

这里有几个问题...还没有想通了,为什么你的结果没有得到填充的是,虽然:

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

+0

我不认为这是事业。我已经尝试过了。 :D感谢您的回复 –

+0

@strike_noir:也许您可以尝试调用jQuery(“#pickFlex66”)。jqGrid(..)一次。我不确定第二次调用的目的是什么...... – Briguy37

0

你错过了一个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是没有必要的。但是你必须确保正确设置根元素,在你的情况下它被称为'行'而不是'gridModel'。