Jquery DataTables için ilk sıralamayı devre dışı bırakmanın bir yolu var mı?


231

Ben kullanıyorum jquery DataTable eklentisi. Belgelerinden:

Sıralama etkinleştirilirse, DataTable'lar başlatma sırasında bir ilk geçiş sıralaması gerçekleştirir. Bu değişkenle sıralamanın hangi sütun (lar) üzerinde gerçekleştirileceğini ve sıralama yönünü tanımlayabilirsiniz. AaSorting dizisi, sıralanacak her sütun için başlangıçta sütunun dizinini ve yön dizesini ('asc' veya 'desc') içeren bir dizi içermelidir.

Sıralama etkinleştirildiğinde ancak başlatma sırasında bu ilk geçiş sıralaması devre dışı bırakılabilir mi? Şu anda ilk sıralama sunucu tarafı yapıyorum ve sıralama işlevselliği gerekir ama bu ilk sıralama işlevselliği gerekmez.

Yanıtlar:


566

Ben boş bir diziye "aaSorting" yanıt kümesini buldum :

$(document).ready( function() {
    $('#example').dataTable({
        /* Disable initial sort */
        "aaSorting": []
    });
})

Daha yeni Datatables sürümleri (> = 1.10) için sipariş seçeneğini kullanın:

$(document).ready( function() {
    $('#example').dataTable({
        /* No ordering applied by DataTables during initialisation */
        "order": []
    });
})

5
Bu cevap çok yardımcı oldu ama potansiyel karışıklığa dikkat çekmeye değer. Eğer sütun 0 önceden sıralanmışsa ve bu ilk sıralama devre dışı bırakılmışsa, kullanıcı sütun 0'ın başlığını ilk tıklattığında, sıralama düzeninde sıralanır. Kullanıcıya, bu, sipariş sırasını bekleyeceği için hiçbir şey olmuyor gibi görünüyor. İkinci bir tıklama azalacaktır. Etrafında almak için bu ayarlayabilirsiniz asSorting: ['desc', 'asc']içinde aoColumnDefsilk tıklama bir desc sıralama olacak şekilde yerleştirin.
tomfumb

8
Daha yeni sürümler için sırası: []
Darren

@tomfumb Aslında, sıralanmadığını gösteren bir GUI var. İlk tıklama, öğeler değişmese bile Sıralamanın etkinleştirildiğini gösterir. Bu bana yeter.
Nelson

2
Bunu bir masa seviyesinde de ayarlayabilirsiniz -><table data-order="[]">
Howdy_McGee

Bu çözüm benim için işe yaramıyor ama <table data-order="[]">benim için çalışıyor.
Alper


25

Bunu dene:

$(document).ready( function () {
  $('#example').dataTable({
    "order": []
  });
});

Bu sorununu çözecektir.


1

Datatable seçeneklerinde şunu belirtin:

$(document).ready( function() {
  $('#example').dataTable({
    "aaSorting": [[ 2, 'asc' ]], 
    //More options ...

   });
})

İşte çözüm: "aaSorting": [[2, 'asc']],

2tablonun üçüncü sütuna göre
ascartan sırada sıralanacağı anlamına gelir .


12
Soru, başka bir sıralama düzeninin nasıl belirtileceği değil, "ilk sıralamanın nasıl devre dışı bırakılacağı" idi. Bu cevap farklı bir soru için daha uygundur.
Gitti Kodlama
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.