2016-12-12 87 views
0

我使用DataTables在表中顯示信息,並且啓用了服務器端加載(我只需要加載數據和分頁),而且我不需要搜索或按服務器端排序,我需要默認搜索和排序(jQuery)爲我的表。禁用服務器端處理進行排序

我該怎麼做?

var table2 = $('#datatable-buttons2').DataTable({ 
 
    "serverSide": true, 
 
    "processing": true, 
 
    "asSorting": ['desc', 'asc'], 
 
    "ajax": { 
 
    'type': 'POST', 
 
    'url': 'test.php?nowsearch=1', 
 
    'data': { 
 
     inputaz: $("#inputaz").val(), 
 
     inputta: $("#inputta").val(), 
 
     inputkey: $("#inputkey").val() 
 
    } 
 
    }, 
 
    "columns": [{ 
 
    "data": "group_name" 
 
    }, { 
 
    "data": "sender" 
 
    }, { 
 
    "data": "date" 
 
    }], 
 
});

回答

0

也許你可以做到這一點,自定義的Javascript,檢索的數據,但這是沒有用的

如果您在serverSide: true你的客戶方項目進行排序,它將進行排序只,不是基於數據庫中的所有數據集當前獲取的數據(如果你確實限制的結果,如果你不這樣做,然後直接serverSide: false女巫使用將檢索所有記錄)。

例如,如果您有1000條記錄,則只能獲得前10個數據,而不是全部(10/25/50/100)。如果你在本地排序age,它將排序檢索到的10.然後,如果你轉到下一頁,你會注意到第2頁不是從第1頁開始連續的。

這就是爲什麼當您使用serverSide: true必須編寫在後端語言的排序/搜索:在那裏你會排序第一和然後返回10條記錄進行排序。

這就是這個選項的想法。

無論如何...您也可以使用paging option爲客戶端(serverSide: false)分頁。但是你需要了解性能。簡而言之,如果你要處理很多記錄,你應該繼續使用服務器端,並編寫你的後端的排序/搜索/分頁/等,返回相應的數據。不那麼難。你可以玩parameters sent來實現這一點。

相關問題