Я построил одну сетку с помощью jqgrid и включил фильтрацию. Полученный тип данных - json, и я использую функцию loadonce. Когда я применяю некоторые фильтры, кажется, что он всегда скрывается в записи. Я использую пейджер сетки только для того, чтобы иметь дополнительные кнопки, которые я хочу добавить в сетку, и я удаляю кнопки пейджера сетки (следующий, последний и т. Д.). Я удалил пейджер, чтобы проверить, есть ли конфликт, но все равно получаю ту же ошибку. Когда сетка загружается, я получаю «Просмотр 1–7 из 7», и я вижу 7 записей, когда я применяю фильтр, на выходе получается «Просмотр 1–3 из 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
});
Заранее спасибо!