Это очень легко объяснить. Сервер выдает данные, которые будут использоваться для заполнения сетки. Данные могут быть разбиты на страницы. Таким образом, в 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 сервер возвращает только 3 последние строки (из общего количества 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 определено так, что оно считывает свойство data 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, которая могла бы играть роль «Summary Footer Row» (см. http://www.trirand.com/blog/jqgrid/jqgrid.html в разделе «Новое в версии 3.5», «Summary»). Пример строки нижнего колонтитула). Теперь вы можете видеть, что URL-адрес в примере абсолютно такой же: «server.php? Q = 2». Таким образом, в первом примере userdata
не будет использоваться, но будет использоваться в примере «Summary Footer Row».