datatable'da sayfalandırma nasıl kaldırılır


92

JQuery'de yeniyim. Veri Tablolarını ızgarada kullandım ancak sayfalandırmaya gerek yok.

Bir sayfada siparişlerin bir listesi var ve bunları bir Datatable ızgarasında gösteriyorum ancak altta sayfalamayı göstermek istemiyorum. JQuery kitaplığında biraz özelleştirme kullanarak veri tablosundan sayfalandırmayı kaldırmanın veya gizlemenin herhangi bir yolu var mı?

görüntü açıklamasını buraya girin

Özelleştirmeye çalıştım ama bunu yapmak için çok az yöntem buldum ..

Şimdiden teşekkürler.


2
hangi yöntemi veya eklentiyi kullanıyorsunuz?
Naryl

Yanıtlar:


163

"bPaginate": false,Yapıcı parametrelerinize ilettiğiniz yapılandırma nesnesine eklemelisiniz . Burada görüldüğü gibi: http://datatables.net/release-datatables/examples/basic_init/filter_only.html


1
Verilerimin yalnızca ilk 100 satırını görüntülemek istersem, iDisplayLength parametremden bağımsız olarak tüm verileri görüntülediği için bPaginate çalışmaz. Bundan nasıl kaçınacağını biliyor musun?
Alexis Dufrenoy

Yanılıyorsam düzeltin, ancak yalnızca ilk 100 öğeyi gösterir ve sayfalandırmayı devre dışı bırakırsanız, kullanıcının aşağıdaki sonucu görüntülemesinin bir yolu yoktur. Öyleyse, veri kaynağınızı doğrudan değiştirmeye çalışmalısınız . Bu farklı bir konu gibi görünüyor, bu nedenle yeni bir soru açmayı düşünmeli ve bize kodunuzun bir kısmını vermelisiniz.
nstCactus

1
Aslında, bu bir arama işlevi için ve ayrıca çok fazla satır alındığı için kullanıcının arama kriterlerini değiştirmesi gerektiğini söyleyen bir mesaj göstermem gerekiyor. Kayıt için, Datatables forumunda sordum ve çözüm bir seçenek eklemektir: sDom = lfrt ("p" olmadan, sayfalandırma yok). Yararlı olabilir ...
Alexis Dufrenoy

72

PAGİNASYONU DEVRE DIŞI BIRAK

DataTables 1.9 için

bPaginateSayfalandırmayı devre dışı bırakmak için seçeneği kullanın .

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

DataTables 1.10+ için

pagingSayfalandırmayı devre dışı bırakmak için seçeneği kullanın .

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

Kod ve gösteri için bu jsFiddle'a bakın .

PAGİNASYON KONTROLÜNÜ KALDIRIN VE PAGİNASYONU ETKİNLEŞTİRİN

DataTables 1.9 için

sDomSayfada hangi kontrol öğelerinin görüneceğini yapılandırmak için seçeneği kullanın .

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

DataTables 1.10+ için

domSayfada hangi kontrol öğelerinin görüneceğini yapılandırmak için seçeneği kullanın .

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

Kod ve gösteri için bu jsFiddle'a bakın .


2
1.10+ data-paging='false'için tablo öğesi üzerinde belirtmek de işe yarayacaktır.
Jeromy French

21

İşe yarıyor

Aşağıdaki kodu deneyin

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

sorunumu onu kullanarak çözdüm.


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

Bu kodu dene


6

Sayfalandırmayı kaldırmak ve ancak dataTable'ın sıralanmasını istiyorsanız, bu komut dosyasını sayfanızın sonuna ekleyin!

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


-1

İşte diğer birkaç cevapta kademeli bir iyileştirme olan bir alternatif. Settings.aLengthMenu çok boyutlu olmadığı varsayılırsa (DataTables satır uzunluklarına ve etiketlere sahip olduğunda olabilir) ve veriler sayfa yüklendikten sonra değişmez (basit DOM yüklü DataTables için), bu işlev sayfalamayı ortadan kaldırmak için eklenebilir. Sayfalandırmayla ilgili birkaç sınıfı gizler.

Belki daha sağlam, aşağıdaki işlev içinde sayfalamayı false olarak ayarlamak olabilir, ancak bunun için elden bir API çağrısı göremiyorum.

$('#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();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.