Struts2與jqGrid的參數傳遞

最近,在項目中用到了jqGrid進行數據的顯示。但是一直不明白數據是怎麼進行傳遞的。在jqGrid中,參數rowNum定義了每頁顯示多少行數據,而在Action中則使用rows屬性定義了每頁中顯示的數據行數。所以,一直不明白兩個參數是怎樣聯繫的。

今天,在網上找到了合理的解釋。jqGrid中PrmNames選項用於設置jqGrid將要向Server傳遞的參數名稱。默認情況下包含rows:"rows",第一個rows從rowNum取值,第二個rows表示向Server傳遞數據時,使用的參數名爲" rows "。因此纔會將rowNum的值傳遞給了Server中的rows屬性。

如果PrmNames選項中修改爲rows:"pageSize",那麼會將rowNum的數據值使用pageSize參數向Server進行傳遞,相應的Action中也就需要pageSize屬性接收每頁顯示的數據行數了。

下面貼上prmNames選項和jsonReader選項的相關參數說明。

prmNames : {  
    page:"page",    // 表示請求頁碼的參數名稱  
    rows:"rows",    // 表示請求行數的參數名稱  
    sort: "sidx", // 表示用於排序的列名的參數名稱  
    order: "sord", // 表示採用的排序方式的參數名稱  
    search:"_search", // 表示是否是搜索請求的參數名稱  
    nd:"nd", // 表示已經發送請求的次數的參數名稱  
    id:"id", // 表示當在編輯數據模塊中發送數據時,使用的id的名稱  
    oper:"oper",    // operation參數名稱  
    editoper:"edit", // 當在edit模式中提交數據時,操作的名稱  
    addoper:"add", // 當在add模式中提交數據時,操作的名稱  
    deloper:"del", // 當在delete模式中提交數據時,操作的名稱  
    subgridid:"id", // 當點擊以載入數據到子表時,傳遞的數據名稱  
    npage: null,   
    totalrows:"totalrows" // 表示需從Server得到總共多少行數據的參數名稱,參見jqGrid選項中的rowTotal  
}  
jsonReader用於設置如何解析從Server獲取的json數據。

jsonReader : {  
    root: "rows",   // json中代表實際模型數據的入口,也就是Action中數據列表的名稱  
    page: "page",   // json中代表當前頁碼的數據  
    total: "total", // json中代表頁碼總數的數據  
    records: "records", // json中代表數據行總數的數據  
    repeatitems: true, // 如果設爲false,則jqGrid在解析json時,會根據name來搜索對應的數據元素(即可以json中元素可以不按順序);而所使用的name是來自於colModel中的name設定。  
    cell: "cell",  
    id: "id",  
    userdata: "userdata",  
    subgrid: {  
        root:"rows",   
        repeatitems: true,   
        cell:"cell"  
    }  
}  

參考文章:http://blog.csdn.net/lijiangjava/article/details/52170106

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章