Я построил одну сетку, используя jqgrid, и я включил фильтрацию. Полученный тип данных - json, и я использую функцию loadonce. Когда я применяю некоторые фильтры, оказывается, что он всегда прячется на записи. Я использую пейджер сетки только для того, чтобы иметь дополнительные кнопки, которые я хочу добавить в сетку, и я удаляю кнопки сетки пейджер (следующий, последний и т. Д.). Я удалил пейджер, чтобы увидеть, был ли конфликт, но все равно я получаю ту же ошибку. Когда сетка загружается, я получаю «View 1 - 7 of 7», и я вижу 7 записей, когда я применяю фильтр, вывод «View 1 - 3 of 4». Это означает, что 4 записи соответствуют фильтру, но он продолжает отображать только 3. Теперь, если я очищаю фильтры, я получаю «Просмотр 1 - 6 из 7», снова одна запись отсутствует. Я проверил таблицу с помощью firebug, чтобы убедиться, что запись скрыта, но все равно ничего. Я пробовал Firefox, Chrome, IE и во всех браузерах я получаю ту же ошибку. Версия jqgrid - 4.1.1. Любые подсказки, почему это происходит?
Ниже вы можете увидеть код:
jq($grid).jqGrid({
url: $url,
datatype: 'json',
mtype: 'Get',
colNames: colNamesList,
colModel: $colModel,
jsonReader : {
repeatitems:false,
id: "id",
},
rowNum: -1,
width: jq(document).width()-20,
height: 200,
pager: $pagerId,
viewrecords: true,
fixed: true,
shrinkToFit: false,
loadonce: true,
caption: $caption,
beforeRequest: function(){
if (!initialized) {
jq(blockElement).block({ message: '<h1 class="loadingMsg">Grid is loading, please wait...</h1>' });
}
},
loadComplete: function(data){
if (loadCompleteCallback != null){
loadCompleteCallback(data);
}
if (!initialized) {
jq.jGrowl('"' + $caption + '" Grid loaded.', {header:'Load Notification'});
jq(blockElement).unblock();
initialized = true;
}
}
});
if (!initialized) {
jq.jGrowl('"' + $caption + '" Grid loaded.', {header:'Load Notification'});
jq(blockElement).unblock();
initialized = true;
}
}
});
jq($grid).jqGrid('filterToolbar',{
stringResult: true,
searchOnEnter : false
});
Заранее спасибо!