Это очень легко объяснить. Сервер создает данные, которые будут использоваться для заполнения сетки. Данные могут быть выгружены. Поэтому в URL-адресе на сервер вы можете найти rows=10&page=2
, что означает «дайте мне вторую страницу данных, когда размер страницы составляет 10 строк». Эти дополнительные параметры будут добавлены к основному URL-адресу «server.php? Q = 2», определенному как один из параметров jqGrid. Сервер возвращает 10 или менее строк. В случае http://www.trirand.com/blog/jqgrid/server.php?q=2&rows=10&page=2 URL сервер возвращает только три последние строки (из всего 10)
{"page":"2",
"total":2,
"records":"13",
"rows":[
{"id":"11","cell":["11","2007-10-06","Client 1","600.00","120.00","720.00",null]},
{"id":"12","cell":["12","2007-10-06","Client 2","700.00","140.00","840.00",null]},
{"id":"13","cell":["13","2007-10-06","Client 3","1000.00","0.00","1000.00",null]}
],
"userdata":{"amount":2300,"tax":260,"total":2560,"name":"Totals:"}
}
Теперь о вашей основной вопрос: что такое «UserData»? Существует старый способ отправки дополнительной информации с сервера клиенту вместе с основными данными. Это могут быть абсолютно свободные данные. Все данные, полученные с сервера, будут обрабатываться jqGrid по так называемому jsonReader
(см. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data). Стандартный JSON-ридер определяется так, что он считывает данные userdata
из корня отправленных данных и просто сохраняет их. Эти данные доступны в отношении
var myUserData = jQuery("grid_id").getGridParam('userData');
(см http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#user_data).
Начиная с версии 3.5 jqGrid, в jqGrid можно добавить дополнительную последнюю строку, которая может сыграть роль «Сводная строка нижнего колонтитула» (см. На странице http://www.trirand.com/blog/jqgrid/jqgrid.html в разделе «Новое в версии 3.5», «Сводная строка нижнего колонтитула»). Теперь вы можете видеть, что URL-адрес в примере абсолютно одинаковый: «server.php? Q = 2». Таким образом, в первом примере userdata
не будет использоваться, но он будет использоваться в примере «Summary Footer Row».