Я пытаюсь добавить в свою сетку серверную подкачку. Кроме того, у меня есть фильтр по «лицензии», «номеру» и «группе». Когда я нажимаю кнопку следующей страницы, вызывается контроллер, и я получаю данные, но моя сетка перезагружается на странице 1, и я не могу просмотреть страницу 2, 3 или 4...
В событии onPaging, если я использую локальный тип данных, данные не отображаются, если я использую тип данных json, я вижу только первую страницу.
Это код:
var arrayData = [];
var pgevent;
var pager;
var accion;
$(function() {
navLocal.cambia('002');
$( "#tabs" ).tabs();
$("#tblResults").jqGrid({
mtype: 'POST',
datatype: "local",
height: 250,
colNames:['license', 'id', 'number', 'brand', 'model', 'show'],
colModel:[
{name:'license',index:'license', width:110},
{name:'id',index:'id', hidden: true},
{name:'number',index:'number', width:110, sorttype:"int"},
{name:'brand',index:'brand', width:250},
{name:'model',index:'model', width:250},
{name:'show',index:'show', width:60, align:"center", sortable:false, formatter:playerPicFormatter}
],
multiselect: false,
viewrecords: true,
pager: "#jqGridPager",
rowNum: 10,
caption: "Results",
width: 700,
loadonce: true,
rowList: [10,20,50],
onPaging : function(pgButton) {
$("#tblResults").setGridParam({datatype:'json'});
find();
pgevent = pgButton;
pager = this.p.pager;
},
loadComplete: function () {
$("#tblResults").setGridParam({datatype:'local'});
}
});
find();
});
function find() {
var gridArrayData = [];
$.ajax({
url : "/find.htm",
type : "POST",
dataType : "json",
data: {
license: $("#license").val(),
number: $("#number").val(),
group: $("#group").val(),
page: $("#tblResults").jqGrid().getGridParam('page'),
rowNum: $("#tblResults").jqGrid().getGridParam('rowNum'),
sortname: $("#tblResults").jqGrid().getGridParam('sortname'),
sortorder: $("#tblResults").jqGrid().getGridParam('sortorder')
},
success : function(result) {
jQuery('#tblResults').jqGrid('clearGridData');
for ( var i = 0; i < result.length; i++) {
var item = result;
gridArrayData.push({
id : item.id,
license : item.license,
number : item.number,
brand : item.brand,
model : item.model
});
}
// set the new data
$("#tblResults").jqGrid('setGridParam', {
data : gridArrayData
});
// refresh the grid
$("#tblResults").trigger('reloadGrid', [{page:2}]);
},
loadComplete: function () {
$("#tblResults").setGridParam({datatype:'local'});
}
});
arrayData = gridArrayData;
}
Подробнее здесь: https://stackoverflow.com/questions/309 ... erver-side
Пейджинг jqgrid на стороне сервера ⇐ Jquery
Программирование на jquery
1728221534
Anonymous
Я пытаюсь добавить в свою сетку серверную подкачку. Кроме того, у меня есть фильтр по «лицензии», «номеру» и «группе». Когда я нажимаю кнопку следующей страницы, вызывается контроллер, и я получаю данные, но моя сетка перезагружается на странице 1, и я не могу просмотреть страницу 2, 3 или 4...
В событии onPaging, если я использую локальный тип данных, данные не отображаются, если я использую тип данных json, я вижу только первую страницу.
Это код:
var arrayData = [];
var pgevent;
var pager;
var accion;
$(function() {
navLocal.cambia('002');
$( "#tabs" ).tabs();
$("#tblResults").jqGrid({
mtype: 'POST',
datatype: "local",
height: 250,
colNames:['license', 'id', 'number', 'brand', 'model', 'show'],
colModel:[
{name:'license',index:'license', width:110},
{name:'id',index:'id', hidden: true},
{name:'number',index:'number', width:110, sorttype:"int"},
{name:'brand',index:'brand', width:250},
{name:'model',index:'model', width:250},
{name:'show',index:'show', width:60, align:"center", sortable:false, formatter:playerPicFormatter}
],
multiselect: false,
viewrecords: true,
pager: "#jqGridPager",
rowNum: 10,
caption: "Results",
width: 700,
loadonce: true,
rowList: [10,20,50],
onPaging : function(pgButton) {
$("#tblResults").setGridParam({datatype:'json'});
find();
pgevent = pgButton;
pager = this.p.pager;
},
loadComplete: function () {
$("#tblResults").setGridParam({datatype:'local'});
}
});
find();
});
function find() {
var gridArrayData = [];
$.ajax({
url : "/find.htm",
type : "POST",
dataType : "json",
data: {
license: $("#license").val(),
number: $("#number").val(),
group: $("#group").val(),
page: $("#tblResults").jqGrid().getGridParam('page'),
rowNum: $("#tblResults").jqGrid().getGridParam('rowNum'),
sortname: $("#tblResults").jqGrid().getGridParam('sortname'),
sortorder: $("#tblResults").jqGrid().getGridParam('sortorder')
},
success : function(result) {
jQuery('#tblResults').jqGrid('clearGridData');
for ( var i = 0; i < result.length; i++) {
var item = result[i];
gridArrayData.push({
id : item.id,
license : item.license,
number : item.number,
brand : item.brand,
model : item.model
});
}
// set the new data
$("#tblResults").jqGrid('setGridParam', {
data : gridArrayData
});
// refresh the grid
$("#tblResults").trigger('reloadGrid', [{page:2}]);
},
loadComplete: function () {
$("#tblResults").setGridParam({datatype:'local'});
}
});
arrayData = gridArrayData;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/30978776/jqgrid-paging-on-server-side[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия