Насколько я знаю, в jquery для этого нет решения, и вы должны сделать это самостоятельно. ниже у меня есть рабочий код для пейджера:
function jqgridCreatePager(pagernav,navgrid,pages){
$('#'+pagernav+' #'+pagernav+'_center td:has(input)').attr('id','pager');
var td = $('#'+pagernav+' #'+pagernav+'_center #pager').html('');
var page = parseInt(jQuery("#"+navgrid).jqGrid('getGridParam','page'))
var lastPage = parseInt(jQuery("#"+navgrid).jqGrid('getGridParam','lastpage'))
text='';
if(page-pages > 1){
text+=jqgridCreatePageLink(navgrid,1)
text+= ' ... '
}
for(var i=0;i <pages;i++){
if(page-pages+i >=1)
text+=jqgridCreatePageLink(navgrid,page-pages+i)
}
text +=jqgridCreatePageLink(navgrid,page,true);
for(var i=0;i <pages;i++){
if(page+i+1 <= lastPage)
text +=jqgridCreatePageLink(navgrid,page+i+1)
}
if(page+pages <= lastPage){
text+= ' ... '
text+=jqgridCreatePageLink(navgrid,lastPage)
}
var td = $('#'+pagernav+' #'+pagernav+'_center #pager').html(text);
}
и функция создания ссылок
function jqgridCreatePageLink(navgrid,page,current){
if (!current)
return ' <a href="#" onclick="jQuery(\'#'+navgrid+'\').jqGrid(\'setGridParam\',{page:'+page+'}).trigger(\'reloadGrid\')">'+page+'</a> ';
return ' >'+page+'< '
}
Теперь, чтобы интегрировать этот код с сеткой, просто добавьте его при создании сетки. Событие gridComplete или что-то в этом роде:
//create
jqgridCreatePager('yourGridNavigator','yourGrid',3)
, а также прикрепить его к событию onPage
//onPage
jqgridCreatePager('yourGridNavigator','yourGrid',3)
для предотвращения мерцания просто добавьте к своему CSS
#yourGridNavigator_center{
display:none;
}
и снова на gridComplete просто добавьте
$('#yourGridNavigator_center').show();
относительно функции patrameters:
- сначала ваш идентификатор навигатора сетки
- секунда - это идентификатор вашей сетки
- этот третий параметр функции показывает, сколько страниц должно отображаться до и после текущей страницы