У меня есть требование ниже; У меня есть jqgrid, который загружает json-данные, используя вызов webservice (RESTful webservices). При загрузке формы я нажимаю на сервер и загружаю данные в grid.If у меня есть 50 строк, сетка загружает только 50 строк. Но я использовал разбиение на страницы, поэтому он отображает только 10 записей и нажимает на следующую кнопку в разбивке на страницы. Будет отображаться еще 10 записей. Но мое требование находится на formload. Я должен ударить по серверу и ограничить отображение всего 10 записей. Затем я нажимаю Next, и я вызываю вызов webservice и отобразить следующие 10 строк. Возможно ли это? Если да, можете поделиться любыми образцами?Jqgrid разбиение на страницы с помощью Restful web services
ответ
Классические веб-службы RESTful не поддерживают разбиение на страницы. Поэтому нужно вернуть все данные с сервера и использовать клиентскую сторону pagination. Если у вас есть только 50 строк данных, я бы рекомендовал вам использовать разбивку на страницы клиента. Вам нужно просто включить loadonce: true
в jqGrid, и все должно работать. В общем случае рекомендуется использовать опцию loadonce: true
, если вы загружаете не так много данных с сервера. Не существует точного предела строк, где предпочтительна разбивка страницы на стороне клиента. Это около 1000 или 10000 строк данных. Поэтому в случае 50 строк данных это действительно строго рекомендуется.
Если вам действительно нужно реализовать на сторону сервера пагинацию успокоительных услуг (в случае очень больших наборов данных), то ваш сервис должен поддерживать дополнительные параметры запроса, который будет не иметь никакого отношения к ресурсной URL. Для примера Open Data Protocol (OData) URI поддерживает начиная с версии 2.0 (см here, например) параметры $orderby
, $skip
, $top
и $inlinecount
, которые могут быть добавляемый к URL, чтобы сообщить серверу, чтобы вернуть данные, отсортированные по $orderby
. Возвращенные данные должны содержать только одну страницу отсортированных данных на основе значений параметров $skip
, $top
. URL выглядит
http://host:port/path/SampleService.svc/Categories(1)/Products?$top=2&$orderby=Name
\______________________________________/\____________________/ \__________________/
| | |
service root URL resource path query options
The old answer приведен пример реализации jqGrid, который вызывает Open Data Protocol (OData) веб-службы. Я использовал serializeGridData
callback для заполнения $top
, $skip
, $orderby
и $inlinecount
который «понимает» веб-сервис OData. Я использовал beforeProcessing
callback to total
недвижимость на основе count
свойство, возвращенное с сервера из-за использования $inlinecount: "allpages"
в запросе. Если веб-службы RESTful, которые вы используете, также поддерживают OData, вы можете использовать один и тот же код.
- 1. RESTful web services
- 2. restful web services eclipse
- 3. Restful web services
- 4. ColdFusion restful web services URI
- 5. jqGrid разбиение на страницы с массивом результатов
- 6. DDOS Attacks - Restful Web Services
- 7. RESTful Web Services или SOAP
- 8. Headerparam in Restful web services
- 9. RESTful Web Services Publishing API
- 10. RESTful Web Services for Flex
- 11. Применение запроса Использование маршрутизации с помощью WCF Restful web services
- 12. Предложения по RESTful Java Web Services Framework ...
- 13. Проектирование приложение, использующее 2 RESTful Web Services
- 14. Разбиение страницы на страницы с помощью wordpress
- 15. Зачем нужен репозиторий RESTful Web Services?
- 16. Безопасность для Spring Restful Web Services
- 17. java restful web services retriving post data
- 18. Restful Web Services generate rsdl document
- 19. Restful Web Services & Multiple Return Types
- 20. Joomla restful web services для действий пользователя
- 21. RESTful Web Services от сущностных классов
- 22. Тестирование RESTful Web Services (RESTClient) на Android Studio
- 23. RESTful разбиение на страницы маршрутов с использованием will_paginate
- 24. jqGrid разбиение на страницы не работает с json datatype
- 25. Как установить разбиение на страницы на JQgrid после вставки данных
- 26. Как RESTful и SOAP Web Services отличаются на практике?
- 27. Разбиение страницы с помощью Kaminari
- 28. Разбиение на страницы с помощью Google Maps
- 29. Разбиение на страницы с помощью Kaminari, Rails
- 30. Установить разбиение на страницы с помощью codeigniter
Спасибо за ответ Олег ... Я поразил Jqgrid Pager.Say для примера. Запрос на сервер возвращает только первые 10 строк данных из 20 в grid.i, учитывая, что rownum равен 10 в jqgrid.so, что время i я не могу нажать следующую кнопку, чтобы получить следующие 10 записей. Можно ли включить следующую кнопку в плеере jqgrid? – vik
@vik: Добро пожаловать! Я предположил, что данные, возвращенные с сервера, были в неправильном формате. Если вам нужна реализация подкачки на стороне сервера, ответ должен содержать свойство 'total' (см. [Документация] (http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_data)) который сообщает jqGrid об общем количестве страниц того же размера. – Oleg