Первая страница результатов с jqgrid rowObject возвращает ожидаемые данные, но затем возвращает неполные данные для последующих страниц результатов.Почему?
Первая страница результатов: rowObject [3] будет равняться "2"
Последующие страницы результатов: rowObject [3] будет равняться "undefined" и возвращаться к первойстраница результатов теперь также будет иметь значение «undefined».
Дополнительные сведения и код:
С jqGrid, если вы хотите реализовать пользовательский форматировщик, вы используете параметрназывается rowObject, который содержит данные строки.Так, например, одна строка rowObject может выглядеть примерно так:
["18", "133", "Betelguese", "3", "photo.jpg", "", "0", ""]
Так что мой пользовательский форматировщик использует некоторые из этих данных для подготовки ссылки следующим образом:
var newval = '<a href="/proj/' + rowObject[3] + '/images/' + imgval + '">' + imgval + '</a>';
, и это даетмне URL вроде:
<a href="/proj/3/images/photo.jpg">photo.jpg</a>
Пока все хорошо.Моя проблема заключается в том, что при переходе на следующую страницу результатов в jqgrid я теряю некоторые из этих данных и получаю:
<a href="/proj/undefined/images/photo.jpg">photo.jpg</a>
Если я загружаю страницу со всеми отображаемыми результатами, все работает нормально, однакоесли я использую разбиение на страницы, только первая страница результатов будет иметь правильное значение для rowObject [3], в то время как все остальные результаты на последующих страницах не будут иметь это значение rowObject!
Так почему rowObject содержит правильные данные начто изначально загружается в сетку и, похоже, теряет эти данные при появлении следующей страницы результатов сетки?
Одна вещь, которую я вижу в Firebug, я не понимаю ... при начальной загрузке страницыЯ получаю:
console.log(rowObject);
["18", "133", "Betelguese", "3", "photo.jpg", "", "0", ""]
На следующей странице результатов, где все перестает работать, как я ожидаю, я вижу
console.log(rowObject);
Object { photo_id="18", site_id="133", more...}
Почему произошли изменения?Первый результат - json, так почему я сейчас получаю этот объект?