JSON и jqGrid.Что такое "userdata"? - PullRequest
3 голосов
/ 28 июня 2010

У меня проблемы с пониманием того, что означают все поля в источнике данных JSON для jqGrid, и я нигде не вижу никакой документации по этому вопросу.

Вот пример, который я пытаюсь понять: http://www.trirand.com/blog/jqgrid/jqgrid.html, а затем первый пример в разделе «Данные JSON»

Доступ к данным JSON можно получить здесь: http://www.trirand.com/blog/jqgrid/server.php?q=2&rows=10&page=2

Одна из вещей, которая смущает меня в JSON - это фрагмент:

"userdata":{"amount":1520,"tax":202,"total":1724,"name":"Totals:"}

Что именно это делает?

Ответы [ 2 ]

7 голосов
/ 28 июня 2010

Это очень легко объяснить. Сервер выдает данные, которые будут использоваться для заполнения сетки. Данные могут быть разбиты на страницы. Таким образом, в 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».

1 голос
/ 28 июня 2010

Кажется, что это сумма столбцов «Сумма», «Налог» и «Итого» на второй разбитой на страницы странице, при условии, что сетка упорядочена по «Инв №» от минимума к максимуму.

Этизначения, по-видимому, не используются этой конкретной сеткой, но, возможно, они используются в одном из других живых примеров, поэтому они там есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...