Пагинация с использованием 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
});