2012-11-14 79 views
0

我有一個從服務器獲取數據的網格。我不需要在這個網格上分頁,我想要 所有的記錄一次加載。我嘗試使用loadonce屬性,但它不起作用。 我怎樣才能做到這一點?如何在jqgrid中加載服務器中的所有記錄

這是我的網

jQuery("#rowed4").jqGrid({ 
    url:'server.php?q=2', 
    datatype: "json", 
    colNames: ['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
    colModel: [ 
     {name:'id',index:'id', width:55}, 
     {name:'invdate',index:'invdate', width:90, editable:true}, 
     {name:'name',index:'name', width:100,editable:true}, 
     {name:'amount',index:'amount', width:80, align:"right",editable:true}, 
     {name:'tax',index:'tax', width:80, align:"right",editable:true}, 
     {name:'total',index:'total', width:80,align:"right",editable:true}, 
     {name:'note',index:'note', width:150, sortable:false,editable:true} 
    ], 
    rowNum: 10, 
    rowList: [10, 20, 30], 
    pager: '#prowed4', 
    sortname: 'id', 
    viewrecords: true, 
    sortorder: "desc", 
    editurl: "server.php", 
    caption: "Full control" 
}); 
+0

'loadonce:true'的用法是正確的。如果你寫了「它不起作用」,你的意思是什麼?什麼是不工作?哪個格式的數據會從'server.php?q = 2''返回?你返回多少物品?你在服務器上用'id'排序數據嗎? – Oleg

+0

@Oleg I數據以'json'格式返回。它被排序,'loadonce'沒有完成這項工作。但最多加載20條記錄。 –

+0

data {「total」:10,「page」:1,「records」:100,「rows」:[{「id」:「1」,「cell」:[「cell11」,「cell12」, 「cell13」]}]}'是JSON格式。另一個數據'[{「id」:「1」,「invdate」:「cell11」,「name」:「cell12」,「amount」:「cell13」]}]'也是JSON格式。兩者都可以使用,但都需要不同的'jsonReader'。數據在兩種情況下是否都正確加載(加載和不加載'loadonce:true')?那麼'jsonReader'將不是你的問題。你是否用'id ='prowed4''定義了分頁器div?你能看到網格上的尋呼機,並在'loadonce:true'的情況下進入下一個網格嗎? – Oleg

回答

4

如果不使用loadonce: true,服務器應當返回的數據僅的第一頁。在你的情況下,你使用rowNum: 10。所以服務器應該返回最多10條記錄。所以,服務器應當返回。如果使用loadonce: true服務器將返回所有記錄通過的jqGrid發送到服務器

pagerows參數結果依據的子集。服務器應忽略pagerows jqGrid發送的參數。 jqGrid會將所有數據保存在內部參數data_index中,並將爲您實施本地分頁,排序和過濾/搜索(無需向服務器提供任何附加請求)。

其餘的應該自動工作。

相關問題