как удалить разбиение на страницы в datatable


92

Я новичок в jQuery. Я использовал таблицы данных в сетке, но нумерация страниц не нужна.

На одной странице есть список заказов, и я показываю их в сетке Datatable, но внизу я не хочу отображать разбиение на страницы. Есть ли способ удалить или скрыть разбиение на страницы из таблицы данных, используя небольшую настройку библиотеки jQuery.

введите описание изображения здесь

Я пытался настроить его, но нашел очень мало способов сделать это ..

Заранее спасибо.


2
какой метод или плагин вы используете?
— Нарыл

Ответы:


163

Вы должны включить его "bPaginate": false,в объект конфигурации, который передаете в параметры конструктора. Как видно здесь: http://datatables.net/release-datatables/examples/basic_init/filter_only.html


1
Если я хочу отображать только 100 первых строк моих данных, bPaginate не работает, потому что он отображает все данные независимо от моего параметра iDisplayLength. Вы знаете, как этого избежать?
— Alexis Dufrenoy

Поправьте меня, если я ошибаюсь, но если вы показываете только первые 100 элементов и отключите разбиение на страницы, у пользователя не будет возможности отобразить следующий результат. Если это так, то вам следует попробовать изменить источник данных напрямую. Кажется, это другая проблема, поэтому вам следует подумать об открытии нового вопроса и предоставить нам часть своего кода.
— nstCactus 05

1
Фактически, это для функции поиска, и мне также нужно вывести сообщение о том, что пользователю нужно изменить критерии поиска, потому что было получено слишком много строк. Для записи, я спросил на форуме Datatables, и решение состоит в том, чтобы добавить параметр: sDom = lfrt (без «p», без разбивки на страницы). Может быть полезно ...
— Алексис Дюфреной 05

72

ОТКЛЮЧИТЬ СТРАНИЦУ

Для таблиц данных 1.9

Используйте bPaginateопцию для отключения разбивки на страницы.

$('#example').dataTable({
    "bPaginate": false
});

Для DataTables 1.10+

Используйте pagingопцию для отключения разбивки на страницы.

$('#example').dataTable({
    "paging": false
});

См. Этот jsFiddle для кода и демонстрации.

УДАЛИТЬ КОНТРОЛЬ НА СТРАНИЦУ И ОСТАВИТЬ РАЗРАБОТКУ ВКЛЮЧЕННОЙ

Для таблиц данных 1.9

Используйте sDomопцию, чтобы настроить, какие элементы управления будут отображаться на странице.

$('#example').dataTable({
    "sDom": "lfrti"
});

Для DataTables 1.10+

Используйте domопцию, чтобы настроить, какие элементы управления будут отображаться на странице.

$('#example').dataTable({
    "dom": "lfrti"
});

См. Этот jsFiddle для кода и демонстрации.


2
для версии 1.10+ можно также указать data-paging='false'элемент таблицы.
— Джероми Френч

21

Это работает

Попробуйте под кодом

$('#example').dataTable({
    "bProcessing": true,
    "sAutoWidth": false,
    "bDestroy":true,
    "sPaginationType": "bootstrap", // full_numbers
    "iDisplayStart ": 10,
    "iDisplayLength": 10,
    "bPaginate": false, //hide pagination
    "bFilter": false, //hide Search bar
    "bInfo": false, // hide showing entries
})


12
$('#table_id').dataTable({    
    "bInfo": false, //Dont display info e.g. "Showing 1 to 4 of 4 entries"
    "paging": false,//Dont want paging                
    "bPaginate": false,//Dont want paging      
})

Попробуйте этот код


6

если вы хотите удалить разбиение на страницы, но хотите упорядочить таблицу данных, добавьте этот скрипт в конец своей страницы!

<script>
$(document).ready(function() {        
    $('#table_id').DataTable({
        "paging":   false,
       "info":     false
    } );
      
  } );
</script>


-1

Вот альтернатива, которая является постепенным улучшением нескольких других ответов. Предполагая, что settings.aLengthMenu не является многомерным (это может быть, когда DataTables имеет длину строк и метки) и данные не изменятся после загрузки страницы (для простых DOM-загруженных DataTables), эту функцию можно вставить для исключения разбиения на страницы. Он скрывает несколько классов, связанных с разбиением на страницы.

Возможно, более надежным было бы установить для разбиения по страницам значение false внутри функции ниже, однако я не вижу вызова API для этого вне руки.

$('#myTable').on('init.dt', function(evt, settings) {
    if (settings && settings.aLengthMenu && settings.fnRecordsTotal && settings.fnRecordsTotal() < settings.aLengthMenu[0]) {
        // hide pagination controls, fewer records than minimum length
        $(settings.nTableWrapper).find('.dataTables_paginate, .dataTables_length, .dataTables_info').hide();
    }
}).DataTable();
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.