2012-02-01 1 views
0

Я разработал код, как показано ниже.Внешний пейджинг для jqGrid-jQuery в Java

jQuery(document).ready(function(){ 
    jQuery("#records").jqGrid({ 
     height:350, 
     datatype: 'local', 
     colNames:['Policy Name','Policy Type', 'Time allowed (HH:mm)','Expiration Duration (days)','Session Pulse(minutes)','Description'], 
     colModel :[ 
      {name:'pName', index:'pName', editable:true,sorttype:'text',width:150,editoptions:{size:10},formatter:'showlink',formatoptions:{baseLinkUrl:'javascript:' , showAction: "GetAndShowUserData(jQuery('#list2'),'",addParam: "');"}}, 
      {name:'pType', index:'pType', sorttype:'text',editable:true,width:150,editoptions:{size:10}}, 
      {name:'timeAllowed', index:'timeAllowed', sorttype:'text',editable:true,width:200, align:"right",editoptions:{size:10}}, 
      {name:'expDuration', index:'expDuration', sorttype:'text',editable:true,width:200, align:"right",editoptions:{size:10}}, 
      {name:'sessionPulse', index:'sessionPulse',sorttype:'int',editable:true,width:200, align:"right",editoptions:{size:10}}, 
      {name:'description', index:'description', sortable:false,editable:true,width:200,editoptions:{size:10}}], 
     pager:jQuery('#pager'), 
     rowNum:10, 
     sortname: 'pName', 
     autowidth:true, 
     altRows:true, 
     drag:true, 
     sortorder: "asc", 
     rowList:[2,5,10,20], 
     viewrecords: true, 
     loadonce:false, 
     multiselect: true, 
     /* 
      onSelectRow: function(id){ 
       var gr = jQuery("#records").jqGrid('getGridParam','selrow'); 
       if(gr != null) jQuery("#records").jqGrid('editGridRow',gr,{height:280,reloadAfterSubmit:false}); 
       else alert("Please Select Row"); 
      }, 
      editurl: "server.php", 
     */ 
     caption:'Manage Policy' 
    }); 
}); 

Теперь я хочу, чтобы сделать запрос Ajax к сервлету для (следующей) кнопки jqGrid следующих записей когда пользователь нажимает >>. Я много искал в Интернете, но я нашел много PHP-кода, но я не могу понять, что PHP; Я хочу развить эту вещь на Java. Как я могу это сделать?

+0

jQgrid auto управляет этой штукой. Вам просто нужно передать полный список записей, и он покажет некоторые записи на первой странице (как указано в его конфигурации), а также остальное на другой странице и т. Д. ... – gprathour

+0

Но я хочу управлять внешним поисковым вызовом, например. если пользователь нажмет следующий, то он будет звонить на сервер, и он получит следующие записи из ajax-вызова. –

ответ

1

Как сказано в сообщении GPS, поисковый вызов в jqGrid работает путем подкачки через его текущий набор данных. Вам нужно загрузить большой набор данных, и он будет просматривать этот набор данных. Там может быть способ заставить его вести себя так, как вы хотите, но я не знаю, как это сделать.

Для моих сетей я использую the pagination plugin, чтобы вызвать вызов Ajax, чтобы получить следующую страницу данных. Когда данные возвращаются, я просто очищаю сетку (clearGridData) и добавляю новый набор данных с помощью addRowData.

Я программист .NET, поэтому я не знаю, как вы будете обращаться к базе данных с помощью Java, но это не вопрос jqGrid.

Чтобы определить, сколько страниц есть, вы берете счет всех записей, которые вы будете пейджинговать, и разделите их на количество записей, которые вы покажете на сетке на странице.