làm thế nào để loại bỏ phân trang trong dữ liệu


92

Tôi là người mới trong jQuery. Tôi đã sử dụng Datatables trong lưới nhưng không cần phân trang.

Có một danh sách các đơn đặt hàng trong một trang và tôi hiển thị chúng trong lưới Datatable nhưng ở dưới cùng, tôi không muốn hiển thị phân trang. Có cách nào để loại bỏ hoặc ẩn phân trang khỏi bảng dữ liệu bằng cách sử dụng một chút tùy chỉnh trên thư viện jQuery không.

nhập mô tả hình ảnh ở đây

Tôi đã cố gắng tùy chỉnh nó nhưng tôi tìm thấy rất ít phương pháp để làm điều đó ..

Cảm ơn trước.


2
bạn đang sử dụng phương pháp hoặc plugin nào?
Naryl,

Câu trả lời:


163

Bạn nên đưa "bPaginate": false,vào đối tượng cấu hình mà bạn chuyển cho các tham số phương thức khởi tạo của mình. Như đã thấy ở đây: http://datatables.net/release-datatables/examples/basic_init/filter_only.html


1
Nếu tôi chỉ muốn hiển thị 100 dòng đầu tiên của dữ liệu, bPaginate không hoạt động vì nó hiển thị tất cả dữ liệu bất kể tham số iDisplayLength của tôi. Bạn có biết làm thế nào để tránh điều đó?
Alexis Dufrenoy

Hãy sửa cho tôi nếu tôi sai nhưng nếu bạn chỉ hiển thị 100 mục đầu tiên và vô hiệu hóa phân trang, người dùng không có cách nào để hiển thị kết quả sau. Nếu vậy, bạn nên thay đổi nguồn dữ liệu trực tiếp. Có vẻ như đây là một vấn đề khác, vì vậy bạn nên cân nhắc mở một câu hỏi mới và cung cấp cho chúng tôi một số mã của bạn.
nstCactus

1
Trên thực tế, đó là chức năng tìm kiếm và tôi cũng cần hiển thị thông báo cho biết người dùng cần thay đổi tiêu chí tìm kiếm của mình vì quá nhiều dòng được truy xuất. Đối với bản ghi, tôi đã hỏi trên diễn đàn Datatables và giải pháp là thêm một tùy chọn: sDom = lfrt (không có "p", không có phân trang). Có thể hữu ích ...
Alexis Dufrenoy

71

TẮT CH trang

Đối với DataTables 1.9

Sử dụng bPaginatetùy chọn để tắt phân trang.

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

Đối với DataTables 1.10+

Sử dụng pagingtùy chọn để tắt phân trang.

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

Xem jsFiddle này để biết mã và trình diễn.

LOẠI BỎ KIỂM SOÁT CH trang và ĐỂ LẠI CHỨNG CHỈ ĐƯỢC BẬT

Đối với DataTables 1.9

Sử dụng sDomtùy chọn để định cấu hình phần tử điều khiển nào xuất hiện trên trang.

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

Đối với DataTables 1.10+

Sử dụng domtùy chọn để định cấu hình phần tử điều khiển nào xuất hiện trên trang.

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

Xem jsFiddle này để biết mã và trình diễn.


2
đối với 1.10+, việc chỉ định data-paging='false'phần tử bảng cũng sẽ hoạt động.
Jeromy French

21

Nó đang hoạt động

Hãy thử mã bên dưới

$('#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
})

20
$(document).ready(function () {
            $('#Grid_Id').dataTable({
                "bPaginate": false
            });
        });

tôi đã giải quyết được vấn đề của mình bằng cách sử dụng nó.


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      
})

Hãy thử mã này


6

nếu bạn muốn loại bỏ phân trang và muốn sắp xếp thứ tự của DataTable, hãy thêm tập lệnh này vào cuối trang của bạn!

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


-1

Đây là một giải pháp thay thế là một cải tiến gia tăng đối với một số câu trả lời khác. Giả sử settings.aLengthMenu không phải là đa chiều (có thể là khi DataTables có độ dài hàng và nhãn) và dữ liệu sẽ không thay đổi sau khi tải trang (đối với DataTable đơn giản được tải bằng DOM), chức năng này có thể được chèn để loại bỏ phân trang. Nó ẩn một số lớp liên quan đến phân trang.

Có lẽ mạnh mẽ hơn sẽ là đặt phân trang thành false bên trong hàm bên dưới, tuy nhiên tôi không thấy lệnh gọi API cho điều đó.

$('#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();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.