Пагинация с использованием Ajax в jquery Datatables
Я использую плагин dataTables для таблицы на странице, над которой я работаю. Его в основном выборки строк через вызов ajax и в этом вызове ajax, я отправляю параметры поиска, которые пользователь выбирает, и номер страницы.
Мне нужны кнопки Next, Previous, First и Last, чтобы также запускать один и тот же вызов ajax, но с разными номерами страниц, поскольку внутренний перехватчик зависит от номера страницы.
Этот вызов api возвращает общее число. строк (скажем, 1000), принадлежащих этим параметрам поиска, и строк с размером страницы (скажем, 50).
Есть ли способ, я могу использовать таблицу данных для этого?
Ответы
Ответ 1
Да, вы можете это сделать,
Во-первых, посмотрите здесь
а затем проверьте API, чтобы правильно отображать кнопки и т.д., которые вы хотите.
Я использую тот же плагин в очень больших проектах, и он работает безупречно.
Тип конфигурации, который я использую в моей таблице, следующий
$("#mytable").dataTable({"bJQueryUI": true,"sPaginationType": "full_numbers"});
Ответ 2
Да, вы можете это сделать, и я сделал это на нескольких сайтах. Ключ предназначен для правильной инициализации данных с кодом, например:
var oTable = "";
$(document).ready(function() {
oTable = $('#htmltableID').dataTable({
"sPaginationType": "full_numbers",
"bServerSide": true,
"sAjaxSource": "/script-to-accept-request.php",
"sServerMethod": "POST",
"iDisplayLength": 50
});
}
После загрузки страницы он отправит запрос POST указанному источнику. Запрос по умолчанию использует метод GET, но я предпочитаю публиковать эти значения.
Вы можете добавить пользовательские переменные, которые будут включены в набор по умолчанию, обратившись к http://www.datatables.net/release-datatables/examples/server_side/custom_vars.html
Код на стороне сервера, который примет запрос, должен будет обрабатывать переменную iDisplayStart при изменении страницы. Это начинается с 0, а затем увеличивается на iDisplayLength с каждой страницей. Пример, приведенный Оливером, включает пример с PHP-серверной стороной, поэтому было бы полезно рассмотреть.
Ответ 3
Я написал сообщение в блоге на серверный пейджинг с помощью PetaPoco и DataTables и разместил соответствующий образец ASP.NET MVC3 в решении С# на GitHub
Я не видел ссылки на ваш серверный язык, но решение С# иллюстрирует взаимодействие Json на стороне сервера, получающее ajax POST из DataTables, запрос базы данных и форматирование ответа Json для DataTables для обработки ответа.
Надеюсь, что это поможет.
Ответ 4
попробуйте это. Я уверен, что это сработает для вас.
$("#myDataTable").dataTables({
"bJQueryUI":true,
"bSort":false,
"bPaginate":true, // Pagination True
"sPaginationType":"full_numbers", // And its type.
"iDisplayLength": 10
});