2011-08-30 98 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'。