2011-04-20 52 views
1

可能重複:
jqgrid client side sorting with server side paging - data disappearsjqGrid的客戶端對數據進行排序消失

我有一個jqGrid的,並試圖啓用客戶端排序W /服務器端分頁。如果loadonce:true,客戶端排序將工作,但分頁不起作用。 如果loadonce:false,我嘗試排序,數據從網格中消失。任何想法我失蹤?

jQuery("#grid").jqGrid({ 
      url: getUrl(), // url w/ querystring params 
      datatype: 'json', 
      mtype: "GET", 
      colNames: ['Name', 'Title', 'Office'], 
      colModel: 
      [ 
       { name: 'Employee.EmployeeName', index: 'Employee.EmployeeName', sortable: true, sorttype: 'text' }, 
       { name: 'Employee.EmployeeTitle', index: 'Employee.EmployeeTitle', sortable: true, sorttype: 'text'}, 
       { name: 'Employee.EmployeeOffice', index: 'Employee.EmployeeOffice', sortable: true, sorttype: 'text' } 
      ], 
      width: 600, 
      height: 'auto', 
      scrollOffset: 0, 
      rowNum: 5, 
      pager: jQuery("#pager"), 
      rowList: [10, 25, 50], 
      sortname: 'Employee.EmployeeName', 
      sortorder: "asc", 
      loadtext: "Loading....", 
      emptyrecords: "No records to view", 
      //loadonce: true, // client side sorting works but paging doesn't work 
      sortable: true, 
      viewrecords: true,         
      jsonReader: { 
       repeatitems: false 
      }, 
      loadComplete: function() { 
       jQuery("#grid").jqGrid('setGridParam', { datatype: 'local' }); 
       jQuery("#grid").trigger("reloadGrid"); 
      }, 
      onPaging: function() { 
       jQuery("#grid").jqGrid('setGridParam', { datatype: 'json' });     
      } 
     }); 
+0

看到奧列格的答案@ http://stackoverflow.com/a/9047197/617552 – 2012-01-29 19:50:30

回答

0

以我的經驗,如果你使用的jqGrid事件的jqGrid做任何服務器端,你必須重新創建服務器上的數據,並將其重新綁定到jqGrid的控制。這意味着你將不得不捕獲分類信息並對其進行解釋。 Trirand論壇(http://www.trirand.net/forum/)由JQGrid的作者監測。你可能在那裏得到更好的幫助。

0

如果loadonce:true,客戶端排序將工作,但也可以正常工作。

$(document).ready(function() { 
    $("#user-list").jqGrid({ 
     datatype: "local", 
     height: "auto", 
     autowidth: true, 
     ignoreCase: true, 
     colNames: ['Emp Id', 'First Name', 'Last Name'], 
     colModel: [ 
        {name:'emp_id', index:'emp_id', width:55, sorttype:"int"}, 
        {name:'first_name',index:'first_name', width:160, sorttype:"text"}, 
        {name:'last_name',index:'last_name', width:160, sorttype:"text"}, 
       ], 
     pager: '#user-list-pager', 
     rowNum:10, 
     rowList:[10,25,50,100], 
     sortname: 'first_name', 
     sortorder: 'asc', 
     viewrecords: true, 
     caption: 'Users', 
     data:<%= raw @users_jqgrid_data.to_json %> 
    }); 
    jQuery("#user-list").jqGrid('navGrid','#user-list-pager',{del:false,add:false,edit:false},{},{},{},{multipleSearch:true}); 

}); 

我只是嘗試了smallcode的分頁和排序工作正常here.hope它有助於

感謝名單